-2

我对编程非常陌生(大约一周),我目前正在做一个关于 c# 的项目,用于大学的 sql。到目前为止,我做得很好,能够从 Visual Studio 表单向 mysql 添加、删除和更新行。当我单击添加按钮时,我希望使用新插入行中的新 ID 代码更新标签 (label5)。所以我可以拿那个数字继续做更多的编程工作。

这是我点击那个按钮时的代码.. 我已经在这 5 个小时里用完了在线资源(或者我只是不明白那些资源我拿起了 LastInsertedID 之类的东西,但它对我不起作用)

 private void button4_Click(object sender, EventArgs e)
    {

        string constring = "datasource=localhost;port=***;username=***;password=***";
        string Query = "insert into cars.customers (FirstName, Surname,TelephoneNo,Address1, Address2, Town, PostCode) values('" + this.FName_txt.Text + "','" + this.Surname_txt.Text + "','" + this.TelNo_txt.Text + "','" + this.Address1.Text + "','" + this.Address2.Text + "','" + this.Town_txt.Text + "','" + this.PostCode_txt.Text + "');";
        MySqlConnection conDataBase = new MySqlConnection(constring);
        MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
        MySqlDataReader myReader;

        try
        {
            conDataBase.Open();
            myReader = cmdDataBase.ExecuteReader();
            MessageBox.Show("Saved Customer Details");
            while (myReader.Read())
            {
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

我知道我的术语很严酷,所以我希望这是可以理解的白痴指南,谢谢!

4

1 回答 1

2

你可以抓住command.LastInsertedId例如

MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
cmdDataBase.ExecuteNonQuery();
var lastId = cmdDataBase.LastInsertedId;

// Assign to label
label5.Text = lastId.ToString();
于 2013-06-12T12:47:39.093 回答