使用vb.net中的SQL查询从MS访问数据库中检索选定的记录

时间:2013-12-01 15:16:36

标签: sql vb.net ms-access

我尝试了以下代码来获取员工的记录。

sql = "SELECT * FROM employeerecord WHERE [First Name] LIKE '%" & TBFirstName.Text & "%'" &" OR [Last Name] LIKE '%" & TBLastName.Text & "%'" & " OR [Emp ID] LIKE '%" & TBEmpID.Text & "%'"

问题在于,无论文本框中的任何字段是否与之匹配,所有记录都出现在数据库中。如何使其仅检索与文本字段中的数据类似的记录?我哪里错了?

1 个答案:

答案 0 :(得分:2)

如果所有三个文本框都包含Null或空字符串,则代码构建的WHERE子句将为此...

WHERE [First Name] LIKE '%%' OR [Last Name] LIKE '%%' OR [Emp ID] LIKE '%%'

这将返回employeerecord的几乎所有行...排除的唯一记录将是在所有这三个字段中包含Null的那些:[First Name]; [Last Name];和[Emp ID]

如果这些文本框中只有一个包含Null或空字符串,则基于该文本框的WHERE条件仍为LIKE '%%',因为WHERE使用{{1}你将再次获得几乎所有的行。