2017-10-10 3 views
-4

Je ne peux pas effectuer de recherche par lettres. Quelque chose comme Jam. Je dois écrire le nom complet comme James. Quelqu'un peut-il m'aider à changer le code afin que je puisse chercher par lettres.Code de recherche datasheed

C'est mon code

Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click 

    Dim Load As SearchFromTable = New SearchFromTable 

    With Me.DataGridView1 
     .DataSource = Load.GetMyData _ 
     ("Select *" _ 
     + " From tblInfo Where Fname='" & Trim(Me.txtSearch.Text) & "'" _ 
     + " or Lname='" & Trim(Me.txtSearch.Text) & "'" _ 
     + " or Department='" & Trim(Me.txtSearch.Text) & "'" _ 
     + " or Company='" & Trim(Me.txtSearch.Text) & "'") 
    End With 

End Sub 
+3

Ajouter% après le texte que vous voulez rechercher Votre code est grand ouvert à sql injection par le chemin –

+2

Vous devriez utiliser 'LIKE' ra ther que '=' – Jaxi

Répondre

0

Comme Jaxi dit, utilisez LIKE:

Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click 

    Dim Load As SearchFromTable = New SearchFromTable 

    With Me.DataGridView1 
     .DataSource = Load.GetMyData _ 
     ("Select *" _ 
     + " From tblInfo Where Fname like '%" & Trim(Me.txtSearch.Text) & "%'" _ 
     + " or Lname like '%" & Trim(Me.txtSearch.Text) & "%'" _ 
     + " or Department like '%" & Trim(Me.txtSearch.Text) & "%'" _ 
     + " or Company like '%" & Trim(Me.txtSearch.Text) & "%'") 
    End With 

End Sub 

Les changements que je fait pour vous le code retourne quoi que ce soit dans la chaîne qui contient "Jam", par exemple "James", "A Jam", "Dans une Jam", I Jam avec le groupe "... etc ....

+0

Vous êtes mon héros, Thx mate. –

+0

Peut-être un de plus, quand je charge mes données à partir d'une feuille d'accès, insérez toutes les colonnes. Je ne veux pas insérer le premier. Y at-il une option pour insérer toutes les colonnes sauf "sauf la première colonne" ou sauf le nom de la colonne? –

+0

Private Sub btnLoad_Click (sender ByVal comme System.Object, ByVal e comme System.EventArgs) Poignées btnLoad.Click Dim charge Comme SearchFromTable = New SearchFromTable Avec Me.DataGridView1 .DataSource = Load.GetMyData _ ("Select * From tblInfo ") Terminez par End Sub –