我在一列中有一个数组:
[empty, true, true, empty × 2, true, true]
1: true
2: true
5: true
6: true
length: 7
我想更新 If 1: true then type_1 = true, 2:true then type_1 = true, 5:true then type_5 = true, 6:true then type_6 = true。
但是我不知道该怎么做,有人可以帮我吗,或者有没有更有效或更简单的方法来做到这一点?我试过了:
public bool UpdateType(int id, Array selectedTypes)
{
bool res = false;
string sqlstr = "";
try
{
using (conn = new SqlConnection(CommonDA.GetConnectionString()))
{
conn.Open();
trans = conn.BeginTransaction();
try
{
SqlCommand cmd = conn.CreateCommand();
sqlstr = @"Update Goal_Type set type_1 = @type_1,
type_2 = @type_2,
type_3 = @type_3,
type_4 = @type_4,
type_5 = @type_5,
type_6 = @type_6,
where id = @id ";
cmd.CommandText = sqlstr;
cmd.Transaction = trans;
cmd.Parameters.AddWithValue("@id", id);
cmd.Parameters.AddWithValue("@type_1", selectedTypes[1]);
cmd.Parameters.AddWithValue("@type_2", selectedTypes[2]);
cmd.Parameters.AddWithValue("@type_3", selectedTypes[3]);
cmd.Parameters.AddWithValue("@type_4", selectedTypes[4]);
cmd.Parameters.AddWithValue("@type_5", selectedTypes[5]);
cmd.Parameters.AddWithValue("@type_6", selectedTypes[6]);
cmd.ExecuteNonQuery();
trans.Commit();
conn.Close();
res = true;
}
catch (Exception Err)
{
trans.Rollback();
CommonLB.SystemError("UpdateType Fall", Err.Message);
CommonLB.SystemError("Data", "SQL:" + sqlstr);
}
}
}
catch (Exception Err)
{
throw new ApplicationException(Err.Message, Err);
}
return res;
}