我有
的主键列名称string sql = "SELECT ColumnName = col.column_name FROM information_schema.table_constraints tc INNER JOIN information_schema.key_column_usage col ON col.Constraint_Name = tc.Constraint_Name AND col.Constraint_schema = tc.Constraint_schema WHERE tc.Constraint_Type = 'Primary Key' AND col.Table_name = '" + _lstview_item + "'";
SqlConnection conn2 = new SqlConnection(cc.connectionString(cmb_dblist.Text));
SqlCommand cmd_server2 = new SqlCommand(sql);
cmd_server2.CommandType = CommandType.Text;
cmd_server2.Connection = conn2;
conn2.Open();
string ColumnName = (string)cmd_server2.ExecuteScalar();
//string ColumnName = (string)cmd_server2.ExecuteScalar();
conn2.Close();
我正在构建更新语句,如下所示
u.Append("UPDATE ");
u.Append("[Ref].[");
u.Append(_lstview_item);
u.Append("]");
u.Append("SET ");
for (i = 0; i < col_no; i++)
{
u.Append(col_name);
u.Append(" = ");
u.Append("'");
u.Append(col_value);
u.Append("'");
}
在这种情况下,如何检测用户是否正在更改主键列的值?
答案 0 :(得分:0)
你不应该像这样连接你的SQL语句。
而是使用SQL参数来设置各个属性。
有关如何在此示例中使用SQLParameters的示例: http://www.dotnetperls.com/sqlparameter
希望这有帮助!