Asp.net C#在向数据库插入数据时显示Catch错误
本文关键字:数据 显示 Catch 错误 插入 数据库 net Asp | 更新日期: 2023-09-27 18:27:28
我正试图将数据插入数据库,但如果当时没有插入数据或数据库中有任何其他期望,我想显示一条警报消息,即在catch中显示警报,但它没有显示,并且在finally
上工作正常。
try
{
using (var con = new MySqlConnection(constr))
using (var cmd = con.CreateCommand())
{
cmd.CommandText = "insert into time_table (`year`, `Day`) values(@id, @REG)";
con.Open();
for (int i = 0; i < GridView1.Rows.Count; i++)
{
cmd.Parameters.Clear();
TextBox txtUsrId = (TextBox)GridView1.Rows[i].FindControl("txtStudent_Name");
TextBox REGId = (TextBox)GridView1.Rows[i].FindControl("txtreg_number");
cmd.Parameters.Add("@id", MySqlDbType.VarChar).Value = txtUsrId.Text;
cmd.Parameters.Add("@REG", MySqlDbType.VarChar).Value = REGId.Text;
cmd.ExecuteNonQuery();
}
}
}
catch
{
ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "alert('Error Contact Admin')", true);
}
finally {
ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "alert('recorded added')", true);
}
ScriptManager
中的脚本由其类型和键标识。您的问题是因为在catch
和finally
中,您编写了两个相同的密钥——"alert"
。要实现预期的行为,请使用不同的键,例如"alert_catch"
和"alert_finally"
如果使用更新面板,则可以使用:
ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "javascriptFunction();", true);
其他明智的你可以使用
ClientScript.RegisterStartupScript
(GetType(),Guid.NewGuid().ToString(), "javascriptFunction();",true);