Sam*_*ijo 22 c# null linq-to-sql
使用linq将空值传递给ExecuteCommand()方法时遇到问题.我的代码类似于下面的代码:
public void InsertCostumer(string name, int age, string address)
{
List<object> myList = new List<object>();
myList.Add(name);
myList.Add(age);
myList.Add(address);
StringBuilder queryInsert = new StringBuilder();
queryInsert.Append("insert into Customers(name, address) values ({0}, {1}, {2})");
this.myDataContext.ExecuteCommand(queryInsert.ToString(), myList.ToArray());
}
Run Code Online (Sandbox Code Playgroud)
但是,当参数为null(例如地址)时,我收到以下错误:"查询参数不能是'System.Object'类型."
如果没有参数为null,则不会发生错误.我知道我的例子中的设计有点差,我只是创建了一个简化的例子来关注问题.有什么建议?
Kev*_*dge 19
这是一个已知的错误,Microsoft不打算修复它...
解决方法是:
第二个不是一个好主意,因为它打开你的SQL注入攻击,但它是一个快速的黑客.
归档时间: |
|
查看次数: |
10130 次 |
最近记录: |