用于检查文本框中第一个和最后一个名字的第一个字符的SQL语句

问题描述:

我正在尝试编写一个SQL语句或基于一个人的首字母(最后一个)的文本框条目检索帐户信息的语句。只有输入一个字母时,以下声明才有效,但不是。用于检查文本框中第一个和最后一个名字的第一个字符的SQL语句

'variable 
Dim strDataSource As String 
Dim connStr As String = "provider=Microsoft.Jet.OLEDB.4.0;" & _ 
    "Data Source = Chapter4.mdb" 

strDataSource = "SELECT CustID, LastName, FirstName " & _ 
     "FROM tblCustomers " & _ 
     "WHERE UCase(TRIM(LastName)) LIKE '" & UCase(Me.txtCustID.Text) & "%'" 

Dim dt As New DataTable 
Dim dataAdapter = New OleDb.OleDbDataAdapter(strDataSource, connStr) 

dataAdapter.Fill(dt) 
dataAdapter.Dispose() 

Me.dgvDisplay.DataSource = dt 

我找不出如何将FirstName添加到搜索中。 谢谢

+0

为firstname添加或条件过于类似于where子句中的lastname – radar 2014-09-21 02:33:21

我不知道你的表格中的字段名称,但Rajesh所建议的内容类似于以下内容。如果你只想要第一个或最后一个名字匹配,那么在WHERE子句中使用OR而不是AND。

strDataSource = "SELECT CustID, LastName, FirstName " & _ 
     "FROM tblCustomers " & _ 
     "WHERE UCase(TRIM(LastName)) LIKE '" & UCase(Me.txtCustID.Text) & "%'" _ 
     AND UCase(TRIM(FirstName)) LIKE '" & UCase(Me.txtFirstName.Text) 
+0

设置您的答案的格式!它不可读! – mybirthname 2014-09-21 02:39:44

+1

我的不好。现在纠正了。 – Trebor 2014-09-21 02:51:19

+0

我仍然只能放1个字符才能完成搜索。第一个和最后一个首字母都被输入到一个文本框中。如果我在找到的没有记录的地方输入第二个字符。 – JBSAMOM 2014-09-21 19:39:43

你应该提到这是在VB中。

假设:

他们在输入第一个字符是姓。

他们输入的第二个字符是名字。

strDataSource = "SELECT CustID, LastName, FirstName " & _ 
    "FROM tblCustomers " & _ 
    "WHERE UCase(TRIM(LastName)) LIKE '" & UCase(Me.txtCustID.Text(0)) & "%'" 
IF Me.txtCustID.Text.Length > 1 THEN 
    strDataSource += " AND UCase(TRIM(FirstName)) LIKE '" &_ 
    UCase(Me.txtCustID.Text(1)) & "%'" 
END IF