【发布时间】: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