我想填充一个ComboBox,但我想通过一个名为“id_group”的参数对数据进行排序。 我写了一个代码,但它不起作用。 在这一行中发生了一个异常,说“语法不正确”:
SqlDataReader sd = sc.ExecuteReader();
这是我的全部代码:
int id_group=5;
SqlConnection conn = new SqlConnection();
SqlCommand sc = conn.CreateCommand();
sc.CommandText = "SELECT STUDENT FROM FACULTY WHERE ID_GROUP '" + id_group + "'";
conn.Open();
SqlDataReader sd = sc.ExecuteReader(); //this happens exception - "incorrect syntax"
while (sd.Read())
{
string graduate = (string)sd["STUDENT"];
Student_comboBox.Items.Add(graduate);
}
conn.Close();
如何让它发挥作用? 是否有其他方法可以通过参数过滤数据?
答案 0 :(得分:4)
实际上你在查询中遗漏了=
,所以这应该是这样的,
sc.CommandText = "SELECT STUDENT FROM FACULTY WHERE ID_GROUP = '" +
id_group + "'";
但请进行参数化以避免SQL Injection
sc.CommandText = "SELECT STUDENT FROM FACULTY WHERE ID_GROUP = @groupID";
sc.Parameters.AddWithValue("@groupID", id_group);
SOURCE