如何通过参数传递列名,
跟随一个例子
DataTable dt = new DataTable();
// Here I fill my datatable
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
string columnsname = dt.Rows[i][dt.columns[j].toString()].toString();
SqlCommand comando = new SqlCommand();
comando.commandText = "UPDATE Sales.Store SET @columnname = @demographics where id = @id";
comando.Parameters.Add(new SqlParameter("@columnname", columname));
comando.Parameters.Add(new SqlParameter("@dados2", dados2));
comando.ExecuteNonQuery();
comando.Clear();
comando.Dispose()
}
}
这不起作用,但是我有88列,并且我需要更新每行中每88列中的所有数据。
最佳答案
您不能参数化列名称。
要执行您想要的操作,您将需要使用dynamic SQL。