查询在未准备好的语句中返回ODBC错误“参数太少”

时间:2019-05-15 13:00:51

标签: c# asp.net postgresql odbc

我正在尝试从ASP.Net代码运行以下代码:

string strupdate = "Insert into registers(user, module, event_type)" +
    "values (" +
    "'" + user + "'," +
    "'" + event + "'," +
    "'" + source + "');";

/* connSQL it's the ODBC connection type: System.Data.Odbc.OdbcConnection */
connSQL.ExecuteNonQuery();

查询结果如下:

Insert into registers(user, module, event_type)values('user01','message','control');

psql 运行此查询可以很好地工作,但是从Web运行会返回ODBC 07002错误,并显示以下消息:绑定参数的数量<参数标记的数量

1 个答案:

答案 0 :(得分:0)

"'" + event + "," +代码中有一个错字,应该是"'" + event + "'," +

即第二个参数值中缺少单引号结尾。

注意:您的代码可能会受到SQL注入攻击。请使用参数值转换代码。