在退格

时间:2016-02-09 07:55:56

标签: vb.net

我的vb.net文本框的Textchanged事件在退格后无法正常工作。 所以我有一个文本框,用户可以在其上输入值。 然后这个文本框将使用textchanged事件搜索sql。 例如,如果我输入 HUM ,它将返回列表视图的值,如下所示:

HUMAN
HUMANITY
I AM HUMAN
Etc

问题是,如果我键入错误,如 HUM,(使用逗号)并且我退格逗号,则查询不再有效。列表视图显示空列表。 那么我需要做些什么来解决这个退避问题?

以下是代码:

Private Sub txtString1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtString1.TextChanged
   query2 = "SELECT fnID, string1, output, FROM quotes where string1 like '%" & txtString1.Text & "%' order by fnID asc"
   Call FillList2()
End Sub

Private Sub FillList2()
    With lvDaftarOutput
        .Clear()
        .View = View.Details
        .GridLines = True
        .FullRowSelect = True
        .Columns.Add("ID", 0)
        .Columns.Add("String1", 0)
        .Columns.Add("Output", 150)

    End With

        Call FillListView(lvDaftarOutput, GetData(query2))

End Sub

一切正常,除非我对文本框上的值进行退格。

1 个答案:

答案 0 :(得分:0)

这取决于您构建查询的方法。

尝试像这样构建它:

Dim cmd As New SqlCommand("UPDATE [TableA] SET ColumnA=@ColumnA WHERE ID=@ID", Conn)

cmd.CommandText = "select * from customer where id=?id";

cmd.Parameters.AddWithValue("?id",CustomerIDValue);