无法为动态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。

无法为动态sql查询分配值

键入您的查询:"Select * from Info where Roll_no = '" + textBox1。文本+";";