小编典典

SQL查询错误-“ olumn不能为空”。

sql

我有一个SQL查询:

String S = Editor1.Content.ToString(); 
     Response.Write(S);    
    string sql = "insert into testcase.ishan(nmae,orders) VALUES ('9',@S)"; 
   OdbcCommand cmd = new OdbcCommand(sql, myConn); 
            cmd.Parameters.AddWithValue("@S", S);  
            cmd.ExecuteNonQuery();

错误:System.Data.Odbc.OdbcConnection.HandleError上的“订单”列不能为空


阅读 125

收藏
2021-04-22

共1个答案

小编典典

手册

当CommandType设置为Text时,用于ODBC的.NET
Framework数据提供程序不支持将命名参数传递给SQL语句或OdbcCommand调用的存储过程。在这两种情况下,均使用问号(?)占位符。例如:

SELECT * FROM Customers WHERE CustomerID = ?

将OdbcParameter对象添加到OdbcParameterCollection的顺序必须直接对应于命令文本中参数的问号占位符的位置。

用这个:

string sql = "insert into testcase.ishan(nmae,orders) VALUES ('9', ?)";
OdbcCommand cmd = new OdbcCommand(sql, myConn); 
cmd.Parameters.AddWithValue("you_can_write_anything_here_its_ignored_anyway", S);  
cmd.ExecuteNonQuery();
2021-04-22