thespybot
Messages postés5Date d'inscriptionmardi 16 septembre 2008StatutMembreDernière intervention 5 novembre 2008
-
25 sept. 2008 à 11:08
thespybot
Messages postés5Date d'inscriptionmardi 16 septembre 2008StatutMembreDernière intervention 5 novembre 2008
-
25 sept. 2008 à 11:42
Bonjour à tous, j'ai un gros problème avec mon vb.net et du sql :
Voici le code :
Dim req As String
Dim vJ As Integer = 0
Dim cuA As OleDbDataReader
dsAlarms.Reset()
Dim typeB As String = rechTypeBien
connexionAv.Close()
Dim sql As OleDbCommand = New OleDbCommand()
connexionAv.ConnectionString = chaine_connexionAv
req = "Select * From " + typeB + " Where (`Vendeur Nom` Like '*" + champRech + "*') and type IN ('LOCATION','VENTE');"
Try
'ouverture
connexionAv.Open()
'SQL, opérations
sql.CommandText = req
sql.CommandType = Data.CommandType.Text
sql.Connection = connexionAv
cuA = sql.ExecuteReader
Dim MyDataRow As DataRow
MyDataRow = MyData.NewRow
While cuA.Read()
Try
Try
'ouverture
connexionAvRappel.Open()
'SQL, opérations
Dim r As String = CType(cuA("reference"), String) Dim req2 As String "Select * From infoBiens Where RefBiens'" + r + "'"
sql.CommandText = req2
sql.CommandType = Data.CommandType.Text
sql.Connection = connexionAvRappel
Dim cu As OleDbDataReader = sql.ExecuteReader
While cu.Read()
MyDataRow.Item("Date de rappel") = CType(CType(cu("DateRappel"), Date), String)
End While
connexionAvRappel.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Catch ex As Exception
'MsgBox(ex.Message)
End Try
'Après les champs
Try
MyData.Rows.Add(MyDataRow)
Catch ex As Exception
MsgBox(ex.Message)
End Try
'Après toutes les lignes
End While
MyData.AcceptChanges()
dsAlarms.Tables.Add(MyData)
Dim BDSBiens As New BindingSource
' MsgBox("youpi")
Catch ex As Exception
MsgBox(ex.Message)
Finally
Try
'fermeture
connexionAvRappel.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Try
Ce code va pas !
SI je laisse cette requête, cela me fait aucune erreur, mais rien n'est renvoyé de cette requête (or, j'ai bien des enregistrements qui correspondent)
Si je remplace les * par des %, cela me donne la première ligne qui correspond, puis pour chacune des autres lignes, cela me dit l'erreur "Cette ligne est deja dans la table"
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 25 sept. 2008 à 11:34
Il faut que tu fasse un MyDataRow = MyData.NewRow pour chacune des lignes que tu insere, sinon c'est toujours la même ligne que tu tente d'inserer, même si les données qu'elle contient sont différentes