如何在具有自动增量主键的表中插入空行?

时间:2014-04-21 04:01:22

标签: c# tsql ado.net primary-key auto-increment

我只想使用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);
}

1 个答案:

答案 0 :(得分:1)

为了插入默认值,包括&#34;自动增量&#34;值,您需要在DEFAULT VALUES中使用INSERT。此外,您需要在;INSERT之间至少有一个SELECT SCOPE_IDENTITY()(您当前的代码在两个语句之间没有空格或分号):< / p>

string strITStaff = "INSERT INTO ITReq DEFAULT VALUES;  SELECT SCOPE_IDENTITY()";

这会将所有默认值插入ITReq表,然后从该表中选择新插入的IDENTITY