如何通过参数传递列名,

跟随一个例子

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

09-10 15:20