【发布时间】:2019-01-23 02:38:27
【问题描述】:
我是 sql 和 c# 的新手,我在 executenonquery commandtex 中遇到错误。我不知道错误在哪里。你们能帮帮我吗?
private void submitBtn_Click(object sender, EventArgs e)
{
con.Open();
string a = "Accept";
string b = "Reject";
string queryUpdate1 = "";
string queryUpdate2 = "";
int row = DGVLeaves.CurrentCell.RowIndex;
if (accptBtn.Checked)
{
if (type_rdonly.Text == "SL")
{
if (ifEmployeeExist(con, emptime_rdonly.Text))
{
queryUpdate1 = @"UPDATE [LEAVE_EMP] SET EMP_STATUS ='" + a + "'WHERE [EMP_TIME] ='" + emptime_rdonly.Text + "'";
}
queryUpdate2 = "UPDATE LEAVE_ADMIN SET L_SPENT_SL = (L_SPENT_SL + 1), L_REM_SL = (L_REM_SL - 1)";
}
if (type_rdonly.Text == "VL")
{
if (ifEmployeeExist(con, emptime_rdonly.Text))
{
queryUpdate1 = @"UPDATE [LEAVE_EMP] SET EMP_STATUS ='" + a + "'WHERE [EMP_TIME] ='" + emptime_rdonly.Text + "'";
}
queryUpdate2 = "UPDATE LEAVE_ADMIN SET L_SPENT_VL = (L_SPENT_VL + 1),L_REM_VL = (L_REM_VL - 1)";
}
SqlCommand cmd1 = new SqlCommand(queryUpdate1, con);
SqlCommand cmd2 = new SqlCommand(queryUpdate2, con);
cmd2.ExecuteNonQuery();
cmd1.ExecuteNonQuery();
}
if (rejBtn.Checked)
{
if (ifEmployeeExist(con, emptime_rdonly.Text))
{
queryUpdate1 = @"UPDATE [LEAVE_EMP] SET EMP_STATUS ='" + b + "'WHERE [EMP_TIME] ='" + emptime_rdonly.Text + "'";
}
SqlCommand cmd1 = new SqlCommand(queryUpdate1, con);
cmd1.ExecuteNonQuery();
}
con.Close();
}
【问题讨论】:
-
你调试代码了吗?你检查过
type_rdonly.Text的值吗? -
@ChetanRanpariya 嗨!它的 SL 和 VL。 SL 和 VL 来自 datagridview。我尝试使用 if (!string.IsNullOrEmpty(queryUpdate1)) { cmd1.CommandText = queryUpdate1; 来调试代码cmd1.ExecuteNonQuery(); } con.Close();但它没有更新 sa sql
-
您是否检查了
ifEmployeeExist方法返回的值?如果您在type_rdonly.Text中有SL或VL,那么ifEmployeeExist将返回false,这会导致queryUpdate1不会被初始化。尝试使用ifEmployeeExist方法调试您的代码,您应该能够找出问题所在。
标签: c# sql error-handling command-text