私はこの Update メソッドを持っています。SQL ステートメントが正しいかどうかを修正してください。ID 番号を更新して、データベース内の既存の ID 番号に変更しようとしたため、エラー トラップを試みることなく更新されます。
私のコードは次のとおりです。
public void Update()
{
sc.Open();
try
{
using (cmd = new SqlCommand(@"UPDATE TableVotersInfo SET Education=@ed, idnum=@idnum, FirstName=@firstname, MiddleName=@middlename, LastName=@lastname, SchoolYear=@schoolyear, ControlNum=@controlnum WHERE id=@id
SELECT @ed, @idnum, @firstname, @middlename, @lastname, @schoolyear, @controlnum
WHERE @id NOT IN (SELECT idNum FROM TableVotersInfo);", sc))
{
cmd.Parameters.AddWithValue("@id", _id);
cmd.Parameters.AddWithValue("@ed", _ed);
cmd.Parameters.AddWithValue("@idnum", _idnum);
cmd.Parameters.AddWithValue("@firstname", _firstname);
cmd.Parameters.AddWithValue("@middlename", _middlename);
cmd.Parameters.AddWithValue("@lastname", _lastname);
cmd.Parameters.AddWithValue("@schoolyear", _schoolyear);
cmd.Parameters.AddWithValue("@controlnum", _controlnum);
SqlDataReader reader = cmd.ExecuteReader();
if(reader.Read())
{
MessageBox.Show("ID number already exist!");
FAddVoters._cleardata = "0";
FAddVoters._checkID = checkID;
}
else
{
MessageBox.Show("Data Successfully Updated!");
FAddVoters._cleardata = cleardata;
FAddVoters._checkID = "0";
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
sc.Close();
}
}
どこで何が間違っているのか教えてください。
(編集)
(出典: akamaihd.net )