如何为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插入命令传入变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章