2016-03-25 78 views
0
private void button2_Click(object sender, EventArgs e) 
{ 
    SqlConnection con = new SqlConnection (strcon); 

    string query = "update BrandSet set BrandName='" 
        + this.textBox1.Text + "', Ml = '" 
        + this.textBox2.Text + "', Price='" 
        + this.textBox1.Text 
        + "' where Id = "; 

    SqlCommand command = new SqlCommand(query, con); 

    SqlDataReader adapt; 

    try 
    { 
     con.Open(); 
     adapt = command.ExecuteReader(); 
     con.Close(); 

     MessageBox.Show("Brand Updated Successfully"); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 

我想知道如何分配Id來更新和刪除記錄。如何更新和刪除數據庫中的記錄,如果主鍵是自動生成的

+0

你想更新和刪除相同的記錄嗎? – Rohit

+0

有沒有其他的領域是獨一無二的?如果不是,你可以分兩步進行,你可以更新一切,但品牌名稱和品牌名稱用在哪裏。然後步驟2反過來。 – PmanAce

+0

請刪除問題中的大寫字母。這是大喊大叫,非常粗魯。簡單的答案是,您需要將您嘗試刪除的記錄的ID追加到查詢字符串中。複雜的反問題是,用戶如何知道她正在更新什麼對象,以及數據來自哪裏(我假設屏幕上顯示了某些內容)。所以這就是你需要從中獲取ID的地方。 – Christoph

回答

0

我假設你點擊一個按鈕,它觸發了button2_Click。每個控件都有一個Tag屬性,您可以在其中存儲有關控件的自定義數據。您可以使用Tag來存儲您正在加載的記錄的id。我的意思是,在從數據庫獲取數據時,獲取id並將其分配給控件的Tag,並在控件上單擊時,從Tag獲取其ID。

// assigning Tag value 
int id = // assign id 
myControl.Tag = id; 

更多詳細信息here

+0

謝謝大家你的解決方案但我想知道如何從數據庫中獲取Id的條件 –

0

您可以在按鈕中使用CommandArgument。

<asp:Button ID="button2" runat="server" Text="Button2" 
    OnClick="button2_Click" CommandArgument="ID_Value"/> 


private void button2_Click(object sender, EventArgs e) 
{ 
    if((String)e.CommandArgument != "") 
    { 
     id = (String)e.CommandArgument; 
    } 
} 
相關問題