用于检查文本框中第一个和最后一个名字的第一个字符的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添加到搜索中。 谢谢
我不知道你的表格中的字段名称,但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)
设置您的答案的格式!它不可读! – mybirthname 2014-09-21 02:39:44
我的不好。现在纠正了。 – Trebor 2014-09-21 02:51:19
我仍然只能放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
为firstname添加或条件过于类似于where子句中的lastname – radar 2014-09-21 02:33:21