在数据库中添加用户输入

时间:2013-03-23 18:51:50

标签: c#

我正在尝试实施此

    Console.WriteLine("Enter Name: ");
    this.name = Console.ReadLine();
    string sql1 = "insert into items values ( " + this.name ")";
    DataAccess.ExecuteSQL(sql1);

当我尝试通过此输入数据时,显示错误,无法解除的异常,列名或未找到的数字。

我确定列名是好的,我给它varchar(50)类型。这种方法不被允许吗?

提前谢谢。

2 个答案:

答案 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