Pb sql server et c# , compter les éléments de ma table

Résolu
cs_brute
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
- 14 nov. 2005 à 17:18
OursPasNet
Messages postés
45
Date d'inscription
jeudi 10 novembre 2005
Statut
Membre
Dernière intervention
14 août 2008
- 16 nov. 2005 à 15:21
J'aimerai afficher le dernier element de ma table dans une windows form.
Pour l'instant le premier marche ( id = 1), suivant et précédent marche mais dernier ne marche pas .
Je n'arrive pas a compté le nombre de champs de ma table ( nbre de ligne), afin d'afficher le dernier id et les valeurs correspondantes.
Merci d'avance

11 réponses

sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
16 nov. 2005 à 13:43
int icnt = Convert.ToInt32(
cmd.ExecuteScalar() );

Sébastien FERRAND
[MVP C#]
3
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
14 nov. 2005 à 19:35
la requete type :

select * from table where id = (select max(id) from table)

Sébastien FERRAND
[MVP C#]
0
SharpMao
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
67
15 nov. 2005 à 07:57
Ou alors
Select TOP 1 from table order by id desc

Amicalement, SharpMao
0
SharpMao
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
67
15 nov. 2005 à 08:15
Excusez-moi, une petite erreur :

Select TOP 1 * from table order by id desc

Amicalement, SharpMao
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
15 nov. 2005 à 08:53
oui aussi... mais je crois que TOP n'est pas standard...

Sébastien FERRAND
[MVP C#]
0
SharpMao
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
67
15 nov. 2005 à 10:21
Il parle de sql server, pour cette base, ça fonctionne.

Amicalement, SharpMao
0
cs_brute
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
15 nov. 2005 à 10:41
Le probleme que j'ai n'est pas de trouver la bonne requete sql
mais :

comment appeler celle-ci a l'interieur du framework en C#.

//extrait de code

this.sqlConnection1.Open();



int icnt =
this
.sqlCommand1.ExecuteNonQuery;

icnt doit représenter le nombre de ligne pour pointer sur le dernier enregistrement.
ExecuteNonQuery renvoie normalement le nombre de ligne affecté par la requete select ( ici une requete de type select id from table //sans compter), Mais elle me renvoie -1.

icnt = this.BindingContext[dataset, "nomdelatable"].Count;
j'ai essayé comme ca mais ici le count compte le nombre de table et me renvoie 1, j'aimerai compter le nombre de champs id a l'interieur de la table

Merci pour votre aide
0
OursPasNet
Messages postés
45
Date d'inscription
jeudi 10 novembre 2005
Statut
Membre
Dernière intervention
14 août 2008

16 nov. 2005 à 12:26
Hello
Essai un truc du genre


SqlConnection cnx = new SqlConnection("Ma chaine de connection");


SqlCommand cmd =
new SqlCommand(cnx);


cmd.CommandText="Select TOP 1 * from table order by id desc";


int icnt = (int)
cmd.ExecuteScalar();


Ourgggg !!!!!!
L'ours pas tres net.....
0
cs_brute
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
16 nov. 2005 à 13:27
j'ai bien essayé ta méthode mais j'ai une erreur :
Le cast spécifié n'est pas valide.

sur la ligne : int icnt = (int)
cmd.ExecuteScalar();

Aucune idée de ce que ca peut etre.
Le programme se compile, c'est lors de l'exécution que cette erreur apparait!
0
cs_brute
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
16 nov. 2005 à 15:18
Merci sebmafate, c'était bien une erreur de conversion
0
OursPasNet
Messages postés
45
Date d'inscription
jeudi 10 novembre 2005
Statut
Membre
Dernière intervention
14 août 2008

16 nov. 2005 à 15:21
Exacte merci Seb.....



Ourgggg !!!!!!
L'ours pas tres net.....
0