在数据库中插入记录时,它在asp.net中插入了两次

本文关键字:插入 两次 net 它在 记录 数据库 asp | 更新日期: 2023-09-27 18:26:43

在sql server数据库中插入记录时。每次插入2条记录,我认为事件会触发两次。如何停止在ado.net中两次插入记录。

protected void btnSubmit_Click(object sender, EventArgs e)
{
    try
    {
        CompanyName = txtCompany.Text.Trim();
        InsertData();
    }
    catch (Exception)
    {
        throw;
    }
}
private void InsertData()
{
    if (Page.IsPostBack)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["kernelCS"].ConnectionString);
        SqlCommand cmd = new SqlCommand(@"INSERT INTO [tbl_Leads]([CompanyName])VALUES(@CompanyName)", con);
        cmd.Parameters.AddWithValue("@CompanyName", txtCompany.Text.ToString());
        con.Open();
        cmd.ExecuteNonQuery();
        DataSet ds = new DataSet();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        ...
    }
}

在数据库中插入记录时,它在asp.net中插入了两次

cmd.ExecuteNonQuery()da.Fill(ds)语句在代码中触发了两次查询。

试试这个:

private void InsertData()
{
  SqlConnection con = new  SqlConnection(ConfigurationManager.
  ConnectionStrings["kernelCS"].ConnectionString);
  SqlCommand cmd = new SqlCommand(@"INSERT INTO [tbl_Leads]
  ([CompanyName]) VALUES (@CompanyName)", con);
  cmd.Parameters.AddWithValue("@CompanyName", txtCompany.Text.ToString());
  con.Open();
  cmd.ExecuteNonQuery();
}`