【发布时间】:2015-04-01 00:07:34
【问题描述】:
我有以下代码,它在数据库上执行简单的 SELECT 查询。如果我通过“组”字符串传递整个查询,则查询正常。但是如果我尝试连接字符串(只发送组ID)如下所示,我得到“查询表达式'ID ='group_data'中的语法错误”-注意三个'
我在 MSDN 上登峰造极,但找不到任何相关内容。
public void auth_st(string group)
{
conexiuneBD.Open();
DataSet ds = new DataSet();
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT Notif FROM teams WHERE ID='"+group+"'", conexiuneBD);
adapter.Fill(ds);
conexiuneBD.Close();
DataTable dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows)
{
listBoxCerer.Items.Add(dr["Notif"].ToString());
}
}
任何帮助将不胜感激。我应该改用命令吗?
【问题讨论】:
-
嗯,听起来
ID是数字类型,而不是字符。你试过不带单引号吗? -
你的 id 是 varchar 还是 int ?
-
ID 是一个字符串(它包含诸如“331C”之类的东西
-
连接参数绝对不是执行查询的正确方法。使用参数更好:请查看其他Question 以获取示例。
-
group的值究竟是多少?我在您的查询中没有看到任何语法错误。
标签: c# string concatenation oledb oledbdataadapter