使用c#和winforms在标签中显示上次保存的用户ID和名称

时间:2018-05-28 17:00:27

标签: c# sql-server

我在C#中有一个Windows窗体应用程序,我将名称,ID等详细信息保存到数据库中。 ID由数据库提供,因此用户不提供任何ID。我想添加其他功能,一旦我保存了名称ID,我会自动从数据库中获取最新保存的名称和ID,并在label 1和{{1}上显示在同一个表格上。我是C#的新手,所以非常感谢任何帮助。

这是保存的代码

label 2

1 个答案:

答案 0 :(得分:2)

修改您的查询,假设您的ID字段在表中名为Id

INSERT INTO register (FirstName, LastName)
output inserted.Id 
VALUES(@FirstName, @LastName)

output inserted.Id是您要查找的查询部分。 然后使用cmd.ExecuteScalar()来捕获Id值:请注意,如果没有生成ID,它将返回null。

您的最终代码是:

private void btnregister_Click(object sender, EventArgs e)
{
    var insertedId = 0;
    try
    {
        cn.Open();

        cmd = new SqlCommand(
            "INSERT INTO register (FirstName, LastName) output inserted.Id VALUES(@FirstName, @LastName)", cn);
        cmd.Parameters.AddWithValue("@FirstName", txtfname.Text);
        cmd.Parameters.AddWithValue("@LastName", txtlname.Text);
        var result = cmd.ExecuteScalar();
        try
        {
            insertedId = (int) result;
        }
        catch
        {
            throw new Exception("No rows were added");
        }
        MessageBox.Show("saved");
        cn.Close();
    }
    catch (Exception)
    {
        MessageBox.Show("Cannot Save");
    }
}