【发布时间】:2018-04-30 04:42:02
【问题描述】:
这是我的按钮的代码。
private void btnStudentLookup_Click(object sender, EventArgs e)
{
string strConnect = "Server=DESKTOP-
2Q73COU\\SQLEXPRESS;Database=LoginApp;Trusted_Connection=True;";
SqlConnection conn = new SqlConnection(strConnect);
conn.Open();
using (SqlConnection studentLookup = new SqlConnection(strConnect))
{
SqlCommand command =
new SqlCommand("SELECT * FROM Main_Information WHERE [First Name] like '%" + txtFirstName.Text + "%';", studentLookup);
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataTable dt = new DataTable();
adapter.Fill(dt);
dgvAdvisor.DataSource = dt;
}
}
上面的一切都有效。它根据名字过滤掉行。但是,我想过滤掉更多,所以我将其添加到该行:
"SELECT * FROM Main_Information WHERE [First Name] like '%" + txtFirstName.Text + "%' OR [Last Name] like '%" + txtLastName.Text + "%';", studentLookup
现在它什么也没做。没有错误,没有例外,什么都没有。有什么建议吗?
【问题讨论】:
-
哪个sql版本?
-
@maSTAShuFu 不太确定...我正在使用 SSMS
-
直接从 SSMS 对数据库运行相同的查询,看看是否得到任何结果。调试代码,查看查询执行后数据表是否有行。
-
EMPRY 结果是完全合法的结果。您确定您的查询必须返回非空的内容吗?
-
我太懒了,找不到合适/更好的方法,但是如果此查询适合您,您可以尝试使用 SSMS 吗?
SELECT * FROM Main_Information WHERE [First Name] IN(SELECT [First Name] FROM Main_Information WHERE [First Name] LIKE '%replacetestvaluehere%') OR [Last Name] IN (SELECT [Last Name] FROM Main_Information WHERE [Last Name] LIKE '%replacetestvaluehere%').