2016-03-25 41 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; 
    } 
} 
相关问题