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