【问题标题】:Adding just Unique Data to Gridview仅将唯一数据添加到 Gridview
【发布时间】:2011-02-22 10:56:31
【问题描述】:

我有一张这样的桌子。列 -->(MUSTERI、AVUKAT、HESAP(唯一))

我的页面设计是这样的。

简单地说,第一个下拉菜单是 MUSTERI,第二个下拉菜单是 AVUKAT,当我单击 EKLE(表示添加)按钮时,会自动获取 HESAP(唯一)并显示在 gridview 上。

我想要的是,如果任何用户尝试添加与 HESAP 相同的数据,则会出现错误。

例如;我的gridview中有一个数据“2M LOJİSTİJ”“ALİ ORAL”“889”。

有人尝试添加显示错误的“2M LOJİSTİK”“EMRA SARINÇ”“889”之类的数据,但不要添加到表中。

我的 Add_Click 按钮代码是

protected void Add_Click(object sender, EventArgs e)
    {
        string strConnectionString = ConfigurationManager.ConnectionStrings["SqlServerCstr"].ConnectionString;

        SqlConnection myConnection = new SqlConnection(strConnectionString);
        myConnection.Open();


        string hesap = Label1.Text;
        string musteriadi = DropDownList1.SelectedItem.Value;
        string avukat = DropDownList2.SelectedItem.Value;

        SqlCommand cmd = new SqlCommand("INSERT INTO AVUKAT VALUES (@MUSTERI, @AVUKAT, @HESAP)", myConnection);

        cmd.Parameters.AddWithValue("@HESAP", hesap);
        cmd.Parameters.AddWithValue("@MUSTERI", musteriadi);
        cmd.Parameters.AddWithValue("@AVUKAT", avukat);
        cmd.Connection = myConnection;



        SqlDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
        Response.Redirect(Request.Url.ToString());
        myConnection.Close();
    }

还有我的第一个下拉菜单 MUSTERI(通过该字段自动获取 HESAP)

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string strConnectionString = ConfigurationManager.ConnectionStrings["SqlServerCstr"].ConnectionString;

        SqlConnection myConnection = new SqlConnection(strConnectionString);
        myConnection.Open();
        string hesapNo = DropDownList1.SelectedItem.Value;

        string query = "select A.HESAP_NO from YAZ..MARDATA.S_TEKLIF A where A.MUS_K_ISIM = '" + hesapNo + "'";

        SqlCommand cmd = new SqlCommand(query, myConnection);

        if (DropDownList1.SelectedValue != "0")
        {
            Add.Enabled = true;
            Label1.Text = cmd.ExecuteScalar().ToString();
        }
        else
        {
            Add.Enabled = false;

        }
        Label1.Visible = false;
        myConnection.Close();
    }

如何阻止已经具有相同 HESAP 的插入数据?

【问题讨论】:

    标签: c# asp.net database gridview sqldatasource


    【解决方案1】:

    首先检查 #AVUKAT 中是否存在 HESAP,然后插入新条目。

    
    protected void Add_Click(object sender, EventArgs e) 
        { 
            string strConnectionString = ConfigurationManager.ConnectionStrings["SqlServerCstr"].ConnectionString; 
    
            SqlConnection myConnection = new SqlConnection(strConnectionString); 
            myConnection.Open(); 
    
    
            string hesap = Label1.Text.Trim(); 
            string musteriadi = DropDownList1.SelectedItem.Value; 
            string avukat = DropDownList2.SelectedItem.Value; 
    
            string strsql= "SELECT * FROM AVUKAT WHERE HESAP = " + hesap;
            SqlCommand com = new SqlCommand(strsql, myConnection);
            SqlDataReader dread = com.ExecuteReader(); 
            dread.read();
            if(dread.HasRows)
            {
               myConnection.Close();
               return;
            }
    
            SqlCommand cmd = new SqlCommand("INSERT INTO AVUKAT VALUES (@MUSTERI, @AVUKAT, @HESAP)", myConnection); 
    
            cmd.Parameters.AddWithValue("@HESAP", hesap); 
            cmd.Parameters.AddWithValue("@MUSTERI", musteriadi); 
            cmd.Parameters.AddWithValue("@AVUKAT", avukat); 
            cmd.Connection = myConnection; 
    
    
    
            SqlDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); 
            Response.Redirect(Request.Url.ToString()); 
            myConnection.Close(); 
        } 
    
    

    【讨论】:

      猜你喜欢
      • 2016-02-06
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 2012-11-09
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多