Récupérer une donnée dans SQL Serveur 2005 avec Visual Basic 2003

erti1711 Messages postés 75 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 16 juin 2006 - 16 juin 2006 à 18:06
cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 - 7 août 2006 à 22:08
Bonjour a tous, j'ai une base de donnée sous SQL Serveur dans laquelle j'ai une table PLAT.
Et j'aimerais récupérer une donnée de cette table en utilisant Visual Basic 2003.
J'ai essayé le code suivant et rien tourne:

Dim MaConnexion As New SqlClient.SqlConnection
MaConnexion.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;database=Resto;server=HOME-DE05502F3D"

MaConnexion.Open()

Dim cmdNumMax As SqlClient.SqlCommand = MaConnexion.CreateCommand()
Dim DR As SqlClient.SqlDataReader
DR = cmdNumMax.ExecuteReader  //Qd je débug ca me met une erreur ici du type:
Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans system.data.dll
Informations supplémentaires : ExecuteReader : la propriété CommandText n'a pas été initialisée

cmdNumMax.CommandText = "SELECT MAX(NumPlat) FROM Plat"

Dim i As Integer = cmdNumMax.ExecuteScalar()

En faite le but ici c'est de récupérer, lu numéro du dernier plat qui se trouve dans la base Plat et de l'affecter à une var..
Si quelqu'un pouvait m'aider SVP...
Merci d'avance

2 réponses

cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
16 juin 2006 à 18:26
(Question redirigée vers vbfrance.com, dans "VB.NET et VB 2005 / Base de donées / SqlServer")

<hr size="2" width="100%" />Nurgle (Antoine)
0
cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 8
7 août 2006 à 22:08
Il faut passer la requête SQL quelque part et avant le ExecuteReader :

Dim MaConnexion As New SqlClient.SqlConnection
MaConnexion.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;database=Resto;server=HOME-DE05502F3D"
MaConnexion.Open()

Dim cmdNumMax As SqlClient.SqlCommand = MaConnexion.CreateCommand()
Dim DR As SqlClient.SqlDataReader
cmdNumMax.CommandText = "SELECT MAX(NumPlat) FROM Plat"

DR = cmdNumMax.ExecuteReader
 

Dim i As Integer = cmdNumMax.ExecuteScalar()

Par contre j'ai du mal à comprendre pourquoi tu fais un ExecuteReader et ExecuteScalar.
Dans cet exemple seul le Scalar est utile.

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
0
Rejoignez-nous