如何使用自动递增主键在表中插入空行
本文关键字:插入 何使用 | 更新日期: 2023-09-27 17:59:05
我只想使用SqlTransaction
方法获取主。
这就是我目前所拥有的:
using (SqlTransaction transaction = connection.BeginTransaction())
{
// insert IT Requirements
string strITStaff = "INSERT INTO ITReq";
strITStaff += "SELECT SCOPE_IDENTITY()";
SqlCommand cmdITStaff = new SqlCommand(strITStaff, connection, transaction);
ddlITSupport.SelectedValue.ToString());
int ITStaffReq = Convert.ToInt32(cmdITStaff.ExecuteScalar());
// update lanGaymen
string strUpdatePhaseSix = "UPDATE lanGaymen SET ";
strUpdatePhaseSix += "itReqID = @updateITReq ";
strUpdatePhaseSix += "WHERE seasonID = @compareSeason";
SqlCommand cmdUpdatePhaseSix = new SqlCommand(strUpdatePhaseSix, connection, transaction);
cmdUpdatePhaseSix.Parameters.AddWithValue("@updateITReq", ITStaffReq);
}
为了插入包括"自动递增"值在内的默认值,您需要在INSERT
中使用DEFAULT VALUES
。此外,您需要在INSERT
和SELECT SCOPE_IDENTITY()
之间至少有一个;
(您当前的代码在这两个语句之间既没有空格也没有分号):
string strITStaff = "INSERT INTO ITReq DEFAULT VALUES; SELECT SCOPE_IDENTITY()";
这将在ITReq
表中插入所有默认值,然后从该表中选择新插入的IDENTITY
。