none
[VB.NET/SQL] problème avec une requête avec un like !!! RRS feed

  • Question

  • 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



                        MyDataRow.Item("Référence") = CType(cuA("reference"), String)
                        Dim a As String = CType(cuA("reference"), String)
                        MyDataRow.Item("Nature") = CType(typeB, String).Substring(0, 3)
                        MyDataRow.Item("Date Entrée") = CType(cuA("Date entree"), String)
                        MyDataRow.Item("Adresse 1") = CType(cuA("Adresse 1"), String)
                        MyDataRow.Item("Adresse 2") = CType(cuA("Adresse 2"), String)
                        MyDataRow.Item("Ville") = CType(cuA("Ville"), String)
                        MyDataRow.Item("Prix (en €)") = FaireEspacePx(CType(cuA("Prix vente euro"), Double), True)
                        MyDataRow.Item("Titre vendeur") = CType(cuA("Vendeur Formule"), String)
                        MyDataRow.Item("Vendeur") = CType(cuA("Vendeur Nom"), String)
                        MyDataRow.Item("Téléphone vendeur") = CType(cuA("Vendeur Telephone domicile"), String)
                        MyDataRow.Item("Téléphone vendeur Bureau") = CType(cuA("Vendeur Telephone Bureau"), String)
                        MyDataRow.Item("Téléphone vendeur Autre") = CType(cuA("Vendeur Telephone autre"), String)
                        MyDataRow.Item("Type") = CType(cuA("type"), String)

                        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

                ' alimentation binding source
                BDSBiens.DataSource = dsAlarms
                BDSBiens.DataMember = "Biens".ToString

                ' alimentation datagridview
                DGV.DataSource = BDSBiens


                ' 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"

    Je ne comprends rien du tout à cela...

    J'ai besoin de votre aide.

    jeudi 25 septembre 2008 09:12

Réponses

Toutes les réponses