数据库查询的问题(100分)

  • 主题发起人 主题发起人 邻家小妹
  • 开始时间 开始时间

邻家小妹

Unregistered / Unconfirmed
GUEST, unregistred user!
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
SqlConnection conn=new SqlConnection("server=glf;uid=sa;pwd=;database=northwind");
SqlDataAdapter da=new SqlDataAdapter("SELECT * FROM user WHERE 姓名 LIKE 张三",conn);
DataSet ds=new DataSet();
da.Fill(ds);
dataGrid.DataSource=ds.Tables[0];
上面的代码能从user表中查询张三的信息,但我想把要查询的姓名在一个textBox控件中由用户自己输入,
就是把"张三"替换成textBox.Text,要怎么做?给个例子.
 
只要连接字符串就可以了
"SELECT * FROM user WHERE 姓名 LIKE 张三"
改称
"SELECT * FROM user WHERE 姓名 LIKE" + textBox.Text
试验一下
 
你是不是要让你的程序接受用户的输入作为where后面的参数来查询呢!如果是这样的话,你可以:
select * from user where 姓名 like ‘:textBox.Text;
然后用parameter来准备
 
改為
select * from user where 姓名 like "%%'+textbox.text+'%%'
 
应用为:SELECT * FROM USER WHERE NAME LIKE ''''+%+text.text+%+'''';这样文本中可以输入任何内容。就可。
 
我试了,都不行,怎样才能在sql语句中加入c#的变量,比如一个string变量??
 
哦,人家要的是C#的,俺们还以为是在DELPHI的呢,都看走眼了
 
先改写 sqlDataAdapter 对象的 SelectCommand.CommandText属性,如下:
sqlDataAdapter1.SelectCommand.CommandText=("SELECT * FROM user WHERE 姓名 LIKE '%" + textBox.Text + "%'";
需要注意的是 % 前面和后面要有(单)引号 '
然后再:
sqlConnection1.Open();
后重新填充 dataGrid 即可。
 
小妹不就是一句sql语句吗?
SqlDataAdapter da=new SqlDataAdapter
("SELECT * FROM user WHERE 姓名 LIKE '%" + textBox.Text + "%'");
 
还是why7788说得详细,原来少了个单引号.
 
后退
顶部