【问题标题】:Notify user when insert operation is successful插入操作成功时通知用户
【发布时间】:2014-03-16 10:15:24
【问题描述】:

我正在开发允许使用对象数据源和详细信息视图插入记录的 asp 网络应用程序。我想知道是否有任何方法可以通知用户(例如弹出消息)记录已成功添加?例如。类似的东西,但插入(我应该使用哪个事件)?

<asp:LinkButton ID="LinkBtnDelete" runat="server" 
OnClientClick="if (!confirm('Are you sure you want delete?')) return false;" 
CommandName="Delete">Delete 
</asp:LinkButton> 

我的插入代码:

public static void InsertPatient(PatientBLL patient)
    {
         string ins = "INSERT INTO Patients (PPS,Surname,Name, DOB,Gender,BloodGroup,MedicalCard,AddressLine1,AddressLine2,City,County,Phone,Mobile,Email) VALUES(@PPS,@Surname,@Name,@DOB,@Gender,@BloodGroup,@MedicalCard,@AddressLine1,@AddressLine2,@City,@County,@Phone,@Mobile,@Email)";
         using (SqlConnection con = new SqlConnection(GetConnectionString()))
         {
             using (SqlCommand cmd = new SqlCommand(ins, con))
             {
                 cmd.Parameters.AddWithValue("PPS", patient.PPS);
                 cmd.Parameters.AddWithValue("Surname", patient.Surname);
                 cmd.Parameters.AddWithValue("Name", patient.Name);
                 cmd.Parameters.AddWithValue("DOB", patient.DOB);
                 cmd.Parameters.AddWithValue("Gender", patient.Gender);
                 cmd.Parameters.AddWithValue("BloodGroup", patient.BloodGroup ?? Convert.DBNull);  // if textbox is left empty, use null as column value
                 cmd.Parameters.AddWithValue("MedicalCard", patient.MedicalCard  ); // ?? Convert.DBNull
                 cmd.Parameters.AddWithValue("AddressLine1", patient.AddressLine1);
                 cmd.Parameters.AddWithValue("AddressLine2", patient.AddressLine2 ?? Convert.DBNull);
                 cmd.Parameters.AddWithValue("City", patient.City);
                 cmd.Parameters.AddWithValue("County", patient.County);
                 cmd.Parameters.AddWithValue("Phone", patient.Phone ?? Convert.DBNull);
                 cmd.Parameters.AddWithValue("Mobile", patient.Mobile ?? Convert.DBNull);
                 cmd.Parameters.AddWithValue("Email", patient.Email ?? Convert.DBNull);

                 con.Open();
                 cmd.ExecuteNonQuery();
             }
         }
    }

【问题讨论】:

    标签: c# asp.net insert objectdatasource detailsview


    【解决方案1】:

    常用方法:

    int result = cmd.ExecuteNonQuery();
    

    如果插入操作成功,则结果为 1(受影响的行数)。

    【讨论】:

      【解决方案2】:

      ExecuteNonQuery()返回更新的总行数,所以你使用这个返回值并显示消息通知用户。

      来自 MSDN:ExecuteNonQuery()

      针对连接执行 Transact-SQL 语句并返回 受影响的行数。

      int status = 0;
      status = cmd.ExecuteNonQuery();    
      string script = "alert(\"Rows Inserted Successfully!\");";
      
       if(status > 0)
       { 
         ScriptManager.RegisterStartupScript(this, GetType(), 
                            "ServerControlScript", script, true);
       }
      

      【讨论】:

      • 谢谢,但是当我把它放入方法中时,我在 ScriptManager 行出现错误:关键字 this is not valid in a static method and I need object reference with GetType() method
      猜你喜欢
      • 2022-10-14
      • 1970-01-01
      • 2018-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 2022-12-16
      相关资源
      最近更新 更多