chris_brabant
Messages postés64Date d'inscriptiondimanche 24 juillet 2005StatutMembreDernière intervention29 septembre 2014
-
13 sept. 2005 à 14:08
cs_69chris
Messages postés318Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention30 décembre 2005
-
13 sept. 2005 à 16:09
Bonjour
quelqu'un peut-il me dire pourquoi la ligne "odbc_command1.CommandText =......." provoque une exception InvalidOperationException ?
Merci d'avance
Dim odbc_command, odbc_command1 As OdbcCommand
Dim myreader, myreader1 As OdbcDataReader
Dim valeur_table1 as String
Try
Select Case odbc_conn.State
Case ConnectionState.Broken, ConnectionState.Connecting, ConnectionState.Executing, ConnectionState.Fetching ' non utilisé
Case ConnectionState.Closed
odbc_conn.Open()
Case ConnectionState.Open ' on utilise la connection telle quelle
End Select
odbc_command.CommandText "SELECT col1 FROM Table1 aa WHERE aa.Col2 " + comboColonne2.Text + " ;"
myreader = odbc_command.ExecuteReader()
' on peut avoir aucun ou plusieurs résultats
While myreader.Read()
valeur_table1 = myreader.GetInt32(0).ToString() ' car la colonne col1 de Table1 est de type Numérique
' deuxième requête dépendant du résultat de la première odbc_command1.CommandText "SELECT col1 FROM Table2 bb WHERE bb.col2 " + valeur_table1 + " ;"
myreader1 = odbc_command1.ExecuteReader()
While myreader1.Read()
Msgbox(myreader1.GetInt32(0).ToString()) ' car la colonne col1 de Table2 est de type Numérique
End While
cs_69chris
Messages postés318Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention30 décembre 20051 13 sept. 2005 à 16:09
Salut,
La réponse est simple, la connection dans l'ADO.NET ne support pas
plusieurs commandes simultannées (contrairement aux connection VB6 et
RecordSet). Il faut créer une seconde connection ou stocker le résultat
de la première requête dans une "structure" temporaire (DataTable ou
autre ensemble de données à ta convenance).
Je crois que cette limitation doit être levée dans .NET 2