有一个表Inf_VoteHead
--------------------------
CREATE TABLE [dbo].[Inf_VoteHead] (
[SysID] [int] IDENTITY (1, 1) NOT NULL ,
[InfType] [char] (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[State] [char] (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Title] [varchar] (100) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Creater] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[CreateDate] [datetime] NOT NULL ,
[Modifyer] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[ModifyDate] [datetime] NULL 
) ON [PRIMARY]主键SysID是自动增长的
public int AddVotesInf(VotesInf SVotesInf)
{
string SQLText;
SQLText = "insert into Inf_VoteHead("+
"InfType,"         +
"State,"         +
"Title,"         +
"Creater,"         +
"CreateDate)"         + 
" values("+
"'"+  SVotesInf.pInfType  +"',"+
"'"+  SVotesInf.pState  +"',"+
"'"+  SVotesInf.pTitle  +"',"+
"'"+  SVotesInf.pCreater  +"',"+
"'"+  SVotesInf.pCreateDate  +"')";
SqlConClass.SqlCon.Open();
SqlCommand Cmd_VotesInf = new SqlCommand(SQLText,SqlConClass.SqlCon);
try
{
Cmd_VotesInf.ExecuteNonQuery();
return 1;
}
catch
{
return 0;
}
finally
{
Cmd_VotesInf.Dispose();
SqlConClass.SqlCon.Close();
}
}我想在执行AddVotesInf,增加一条记录的同时,同时我能取这增加的这条记录的SysID的值,应该怎么做

解决方案 »

  1.   

    存储过程最后返回 select @@IDENTITY然后
                                try
    {
    SqlDataReader dr = Cmd_VotesInf.ExecuteReader();
    if(dr.Read())
                                          string insertID = dr[0].ToString();
                                         return 1;
    }
    catch
    {
    return 0;
    }
    finally
    {
    Cmd_VotesInf.Dispose();
    SqlConClass.SqlCon.Close();
    }