gpt4 book ai didi

c# - 如何在 SQL 查询中将列名设置为参数?

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:57 24 4
gpt4 key购买 nike

我想将表名作为参数传递给CommandText,类似于@column。我怎样才能做到这一点?因为列名称作为自定义参数传输。

using (SqlConnection connection = SQL.Connection())
{
using (SqlCommand cmd = connection.CreateCommand())
{
cmd.Parameters.Add("@data", SqlDbType.VarChar).Value = "some_string";
cmd.CommandText = "UPDATE users SET colum=@data";
cmd.ExecuteNonQuery();
}
}

最佳答案

您不能在常规 SQL 中执行此操作 - 如果您必须具有可配置的列名(或表名,就此而言),则必须使用动态 SQL - 没有其他方法可以实现此目的。示例如下所示。

string sqlCommandStatement =  
string.Format("("UPDATE users SET {0}=@somedata, {1}=@somedata" ,column1, column2);

然后使用 SQL Server 中的 sp_executesql 存储过程来执行该 SQL 命令(并根据需要指定其他参数)。

您也可以checkthis文章

关于c# - 如何在 SQL 查询中将列名设置为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30454747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com