我目前最好的代码是:
string delNonQuery = "DELETE FROM " + Settings.DataSource + " WHERE @keycolumn=@keyuid";
SqlCommand cmd = new SqlCommand(delNonQuery,readerConn);
SqlParameter kc = new SqlParameter("keycolumn", SqlDbType.VarChar);
SqlParameter key = new SqlParameter("keyuid", SqlDbType.VarChar);
cmd.Parameters.Add(kc).Value = Settings.KeyColumn;
cmd.Parameters.Add(key).Value = Page.Request["key"].ToString().Trim();
readerConn.Open();
cmd.ExecuteScalar();
readerConn.Close();
这会执行但会影响多达零行。如果我将 keyuid 上的 SqlDbType 更改为 UniqueIdentifier,最终我会得到十几个关于“无法将字符串转换为唯一标识符”的变体。我必须使用参数化查询来保证数据的清洁度,我只是不知道如何......