我只想使用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);
}
答案 0 :(得分:1)
为了插入默认值,包括"自动增量"值,您需要在DEFAULT VALUES
中使用INSERT
。此外,您需要在;
和INSERT
之间至少有一个SELECT SCOPE_IDENTITY()
(您当前的代码在两个语句之间没有空格或分号):< / p>
string strITStaff = "INSERT INTO ITReq DEFAULT VALUES; SELECT SCOPE_IDENTITY()";
这会将所有默认值插入ITReq
表,然后从该表中选择新插入的IDENTITY
。