列名称“Pediatri”无效

本文关键字:无效 Pediatri | 更新日期: 2023-09-27 18:31:55

为什么会这样? 我表上的这个列名还可以,你能给我一个想法吗?

SqlCommand cmd = new SqlCommand ("select Emri from Drsignup WHERE Departamenti=" + DropDownList3.SelectedItem.Value + " ", cn);
            SqlDataAdapter dt = new SqlDataAdapter(cmd);
            DataSet det = new DataSet();
            dt.Fill(det);
            DropDownList4.DataSource = det;
            DropDownList4.DataTextField = "Emri";
            DropDownList4.DataBind();

列名称“Pediatri”无效

您在 SQL 查询中使用字符串值时没有将其括在引号中:

select Emri from Drsignup WHERE Departamenti=Pediatri

因此,SQL 引擎认为Pediatri引用数据库对象(在本例中为列)。

你可以用引号括起来,但这只能暂时解决问题的这一症状。 问题本身是您将查询的输入连接为代码,而不是将其视为值。 请改用参数作为值:

SqlCommand cmd = new SqlCommand ("select Emri from Drsignup WHERE Departamenti = @Departamenti", cn);
cmd.Parameters.AddWithValue("@Departamenti", DropDownList3.SelectedItem.Value);