在数据库中添加用户输入
本文关键字:用户 输入 添加 数据库 | 更新日期: 2023-09-27 18:05:23
我正在尝试实现这个
Console.WriteLine("Enter Name: ");
this.name = Console.ReadLine();
string sql1 = "insert into items values ( " + this.name ")";
DataAccess.ExecuteSQL(sql1);
当我尝试通过这个输入数据时,它显示错误,未找到列名或编号。
我确定列名是ok的,我给了它varchar(50)类型。这种方法是不允许的吗?
提前感谢。
首先你的字符串周围没有引号。你还少了一个加号。它应该是这样的:
string sql1 = "insert into items values ( '" + this.name + "')";
然而,这是一个非常糟糕的方式来处理你的SQL查询通过c#。您应该使用参数化查询!如果你做了这样的事情,你的数据库可能会发生很多不好的事情…
参见使用SqlCommand类的例子,在本页底部有参数:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx
如果字段是varchar,则需要提供引号:
string sql1 = "insert into items values ( '" + this.name + "')";
注意sql注入,参数化查询更好。