如何为 sql 插入命令传入变量

How to pass in a variable for a sql insert command

我有一个字符串,我想使用 sql 命令将其插入到 table 的列中。如果我有

string someText = 'onetwothreetest';
clsDB.ExecuteSQL("INSERT INTO tbl_SOMETABLE (SOMECOLUMN) VALUES (????)")

如何将字符串 someText 放入 ?????没有给我一个错误。

请参考这个postParameterize SQL query

您需要创建一个命令对象并添加指定 SQL、参数

using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlCommand command = connection.CreateCommand())
{
    command.CommandText = "INSERT INTO Contacts ([First], [Last], [Address], [City], [State], [ZIP]) VALUES (@first, @last, @address, @city, @state, @zip)";

    command.Parameters.AddWithValue("@first", first);
    // or
    // command.Parameters.Add("@first", SqlDbType.Type).Value = first;
    // ...

    connection.Open();
    command.ExecuteNonQuery();
}

您可以简单地这样做:

 string someText = 'onetwothreetest';
 clsDB.ExecuteSQL($"INSERT INTO tbl_SOMETABLE (SOMECOLUMN) VALUES ({someText})")