无法为动态sql查询分配值
本文关键字:查询 分配 sql 动态 | 更新日期: 2023-09-27 18:06:24
我正在尝试创建一个动态sql查询,以根据我从用户接收的输入执行,并在单击按钮时显示详细信息。下面是点击按钮时调用的函数:
private void button1_Click(object sender, EventArgs e)
{
cn.Open();
st = "Select * from Info where Roll_no=" + textBox1.Text;
cmd = new SqlCommand(st,cn);
dr = cmd.ExecuteReader();
if(dr.Read())
{
textBox2.Text = dr.GetString(1);
textBox3.Text = dr.GetString(2).ToString();
textBox4.Text = dr.GetString(3).ToString();
textBox5.Text = dr.GetString(4).ToString();
textBox6.Text = dr.GetString(5);
textBox1.Focus();
button3.Enabled = true;
button4.Enabled = true;
}
else
{
MessageBox.Show("No Such record exists");
textBox1.Clear();
textBox1.Focus();
button3.Enabled = false;
button4.Enabled = false;
}
dr.Close();
cn.Close();
}
错误是在sql查询的构造。获取错误在需要条件的上下文中指定的非布尔类型表达式。Textbox1。Text返回用户键入的Roll_no, Roll_no的类型为int。
键入您的查询:"Select * from Info where Roll_no = '" + textBox1。文本+";";