Добавление только уникальных данных в Gridview - PullRequest
1 голос
/ 22 февраля 2011

У меня есть такой стол. Колонны -> (MUSTERI, AVUKAT, HESAP (Уникальный))

Мой дизайн страницы такой.

enter image description here

Проще говоря, первое раскрывающееся меню - это MUSTERI, второе раскрывающееся меню - AVUKAT, когда я нажимаю кнопку EKLE (это означает ДОБАВЛЕНИЕ), автоматически получая HESAP (уникальный) и показывая в виде сетки.

То, что я хочу, - это если какой-либо пользователь пытается добавить данные, которые они являются одним и тем же HESAP, получая ошибку.

Например, в моем виде сетки есть данные "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 auto по этому полю)

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?

1 Ответ

0 голосов
/ 14 февраля 2012

сначала проверьте, существует ли HESAP или нет в #AVUKAT, затем вставьте новую запись.


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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...