在数据库中添加用户输入

本文关键字:用户 输入 添加 数据库 | 更新日期: 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注入,参数化查询更好。