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 37
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 37
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 69
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 69
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 37
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 69
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
Rejoignez-nous