我正在尝试实施此
Console.WriteLine("Enter Name: ");
this.name = Console.ReadLine();
string sql1 = "insert into items values ( " + this.name ")";
DataAccess.ExecuteSQL(sql1);
当我尝试通过此输入数据时,显示错误,无法解除的异常,列名或未找到的数字。
我确定列名是好的,我给它varchar(50)类型。这种方法不被允许吗?
提前谢谢。
答案 0 :(得分:0)
如果字段是varchar:
,则需要提供引号string sql1 = "insert into items values ( '" + this.name + "')";
注意sql注入,参数化查询更好。
答案 1 :(得分:0)
首先,你的字符串周围没有引号。你也错过了一个加号。应该是这样的:
string sql1 = "insert into items values ( '" + this.name + "')";
但是,这是通过C#处理SQL查询的一种非常糟糕的方法。您应该使用参数化查询!如果你做这样的事情,你的数据库可能会发生许多不好的事情......
请参阅本页底部使用带有参数的SqlCommand类的示例: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx