本地SQL DB插入失败,没有给出错误

时间:2016-04-07 19:33:57

标签: c# sql-server

我尝试使用Visual Studio 2015将记录插入到本地SQL数据库的表中。代码永远不会返回错误,但实际上从未插入记录。

try
{
    conn.Open();
    SqlCommand inscmd = new SqlCommand();
    inscmd.Connection = conn;
    inscmd.CommandText = "INSERT INTO Attendance (StudentID,DatePresent) VALUES (@StudentID, @DatePresent)";
    inscmd.Parameters.AddWithValue("@StudentID", intStudentId);
    inscmd.Parameters.AddWithValue("@DatePresent", DateTime.Now.ToString());
    inscmd.ExecuteNonQuery();
    MessageBox.Show(((ExtendedButton)sender).Text + " has been marked as present.");
    conn.Close();
}
catch(SqlException ex)
{
     MessageBox.Show(ex.ToString());
}

当我运行代码时,弹出消息框,说明学生已被添加到考勤记录中。当我关闭应用程序以查看表中的实际数据时;该数据不存在。

我的" Catch"消息框永远不会出现。

1 个答案:

答案 0 :(得分:1)

如果ExecuteNonQuery返回1,则表示它已影响1行。因此,看起来该命令正在运行并且正在发生其他事情。要么你没有看正确的地方,要么正确的桌子或其他东西;或者该行被删除它的触发器或稍后的回滚事务 - 显式或隐式删除。你可以尝试在结束前明确提交。

因此,您需要进一步检查代码或数据库。