如何为sql插入命令传入变量[重复]

Posted

技术标签:

【中文标题】如何为sql插入命令传入变量[重复]【英文标题】:How to pass in a variable for a sql insert command [duplicate] 【发布时间】:2020-09-25 02:28:51 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

请参考此帖Parameterize SQL query

你需要创建一个Command Object并添加Specify SQL, Parameters

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();

【讨论】:

您应该查看Can we stop using AddWithValue() already? 并停止使用.AddWithValue() - 它可能会导致意想不到和令人惊讶的结果... ::thumbsup:: 谢谢【参考方案2】:

你可以这样做:

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

【讨论】:

以上是关于如何为sql插入命令传入变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何为多行命令添加行注释[重复]

如何为任意数量的变量运行一种方法[重复]

SQL:如何为一列中具有重复值的每组行选择一行?

如何为两个不同的帐户使用cmd命令[重复]

如何在插入之前加快重复检查?

如何为python获取PIP [重复]