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);
        }

Asp.net C#在向数据库插入数据时显示Catch错误

ScriptManager中的脚本由其类型和键标识。您的问题是因为在catchfinally中,您编写了两个相同的密钥——"alert"。要实现预期的行为,请使用不同的键,例如"alert_catch""alert_finally"

如果使用更新面板,则可以使用:

ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "javascriptFunction();", true);

其他明智的你可以使用

ClientScript.RegisterStartupScript
        (GetType(),Guid.NewGuid().ToString(), "javascriptFunction();",true);