我是否正确 将值插入 SQL 数据库

本文关键字:插入 SQL 数据库 是否 | 更新日期: 2023-09-27 18:31:08

public void save(string val)
{
    var insertval = "insert into test_table values(" +val+")";
    try
    {
        DBcon.ConnectionOpen();
        SqlDataReader sqlReader = command.ExecuteReader();
        SqlCommand cmd1 = new SqlCommand(insertval, DBcon.SqlConn);
        sqlReader.Close();
        cmd1.ExecuteNonQuery();
        cmd1.Dispose();
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        DBcon.ConnectionClose();
    }
}

我是否正确 将值插入 SQL 数据库

sql 语句中有错误。我们不知道 val 的价值是什么,但它应该在 ' 中,就像我写的那样。

var insertval = "insert into test_table values('" +val+"')";

还可以使用 SqlCommand.Parameters 来防止 sql 注入,在这种情况下,您不需要'

 var insertval = "insert into test_table values(@Value)";

并在声明 SqlCommand 后添加这个。

  cmd1.Parameters.AddWithValue("@Value", val);

不,不要那样做。var insertval = "insert into test_table values(" +val+")";看看这一行,告诉我当有人把);DROP TABLES作为他们的名字时会发生什么?