私は 、 を持ってcheckedlistbox
いtextbox
ますcombobox
。次のエラーが表示されます: -
The variable name '@Provision' has already been declared. Variable names must be unique within a query batch or stored procedure.
Must declare the scalar variable "@BloodGroup".
私のcheckedlistbox
. for ループを使用すると、 mycombobox
BloodGroup
にエラーが発生しました。
string insert = "INSERT INTO Employee(EmpID, EmpName, Address, Provision, BloodGroup) VALUES (@EmpID, @EmpName, @Address, @Provision, @BloodGroup)";
SqlCommand comm = new SqlCommand(insert, sqlCon);
comm.Parameters.AddWithValue("@EmpID", SqlDbType.Int).Value = txtEmpID.Text;
comm.Parameters.AddWithValue("@EmpName", SqlDbType.VarChar).Value = txtName.Text;
comm.Parameters.AddWithValue("@Address", SqlDbType.Text).Value = txtAdd.Text;
for (int a = 0; a < chkProvision.Items.Count; a++)
{
if (chkProvision.GetItemChecked(a))
comm.Parameters.AddWithValue("@Provision", SqlDbType.Char).Value = chkProvision.Items[a].ToString();
else
comm.Parameters.AddWithValue("@Provision", "");
}
if (cbBlood.SelectedValue == null)
comm.Parameters.AddWithValue("@BloodGroup", "");
else
comm.Parameters.AddWithValue("@BloodGroup", SqlDbType.Char).Value = cbBlood.SelectedItem.ToString();
comm.ExecuteNonQuery();
SqlCommand の後に for ループが来る位置を変更すると、EmpID でエラーがスローされます: -
Must declare the scalar variable "@EmpID".