【发布时间】:2015-01-11 14:38:38
【问题描述】:
我正在尝试从employeeTable 访问数据empname,但我编写的代码给了我以下错误:
数据类型 text 和 varchar 在等于运算符中不兼容。
请提出解决方案
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string Connection = "Data Source=(local);Initial catalog=Test;Integrated Security=true";
string Query = "SELECT * FROM EmployeeTable WHERE empname='" + comboBox1.Text + "' ;";
SqlConnection conn = new SqlConnection(Connection);
SqlCommand cmd = new SqlCommand(Query, conn);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
textBoxEmpName.Text = reader["EmpName"].ToString();
}
}
【问题讨论】:
-
您在哪一行收到此错误?并使用参数化查询。这种字符串连接对 SQL 注入攻击开放。
-
EmployeeTable.empname的类型是什么? -
哪一行给出了错误?另外,学习使用参数化查询。
-
也没有理由创建临时变量来保存查询结果
-
当我在组合框中选择 empname 时,它会给我错误消息。
标签: c#