在vs编程数据库查询时,出现下面问题:
我是想通过按button2 按钮,通过textbox1 输入单号来查询goods数据库的单号。然后显示在其他三个文本框中。
我的查询程序是这样写的:
private void button2_Click(object sender, EventArgs e)
{
int n = 0;
SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=goods;Integrated Security=True");
conn.Open();
string sql = "select *from goods where 单号="+textBox1.Text;
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader obj = cmd.ExecuteReader();
while (obj.Read())
{
n++;
textBoxNum.Text=Convert.ToString(obj.GetValue(0));
textBoxName.Text = Convert.ToString(obj.GetValue(1));
textBoxPhone.Text = Convert.ToString(obj.GetValue(2));
}
if (n == 0)
MessageBox.Show("数据库中没有这样的记录!");
conn.Close();
cmd.Dispose();
}
但是运行时停在while循环里,提示如下:
"3t“是数据库里面的一个单号。但是如果读的是3t的话那就说明我这个查询白做了。因为表明是按顺序查询。但是我查找的是另外一个元素。。。
还有obj.read()的返回值类型是bool,提示是什么意思?
不知道是什么原因,怎么解决?
很急!!谢谢!!