使用多个条件的 SQL 搜索查询
本文关键字:SQL 搜索 查询 条件 | 更新日期: 2023-09-27 17:55:43
我的问题是,我做了一个用于搜索的子表单,但是我在SQL查询和参数方面有问题,我的代码是
SqlConnection sc = new SqlConnection(
"Data Source=MOHAMMED-PC;Initial Catalog=salessystem;Integrated Security=True");
SqlCommand command = new SqlCommand(
"Select * from customers WHERE (docno = @doc) OR (NAME LIKE @name ) OR (salepoint = @salepoint)", sc);
DataTable dt = new DataTable();
command.Parameters.AddWithValue("@doc", doctxt.Text);
command.Parameters.Addwithvalue("@name", nametxt.Text);
command.Parameters.AddWithValue("@salepoint", salepointtxt.Text);
SqlDataAdapter sda = new SqlDataAdapter(command, sc);
sda.Fill(dt);
dataGridView1.DataSource = dt;
我在SQL适配器命令和where子句命令中出错,有什么帮助吗?
三件事:
-
您在这一行上有错别字
command.Parameters.Addwithvalue("@name", nametxt.Text);
该方法
AddWithValue
(注意大小写差异) -
SqlDataAdapter
的构造函数接受命令但没有连接,因为命令已经包含连接,所以这是正确的:SqlDataAdapter sda = new SqlDataAdapter(command);
可能最重要的最后:
-
如果使用
LIKE
则需要使用通配符%
:command.Parameters.AddWithValue("@name", string.Format("%{0}%",nametxt.Text);