在sqlhelper中。插入一条数据如何得到ID的自增值?如下语句,返回的是ExecuteNonQuery影响的行数,我想得到id的自增值怎么办?
string sql = "insert into Department (DepartmentName) values ('市场部');select SCOPE_IDENTITY() ";
            return SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionString, CommandType.Text, sql, null);

解决方案 »

  1.   

    http://blog.163.com/zhangqian_sms/blog/static/544483382008925112539620/it will useful for you.
      

  2.   

    再执行SQL语句select @@identity
      

  3.   

    正解 在返回的语句用 
    int ID=Int.parse(ExecuteScalar(sql));
      

  4.   


     string sql = @"insert into UserInfo(UserName,PassWord,Email) 
    values(@Fullname,@Password,@Email) select @@Identity";                object obj = ado.ExecuteScalar(sql, spb.buildParams());                if (obj != null && !(obj is DBNull))
                    {
                        int icount = Convert.ToInt32(obj);
                        return icount;
                    }
      

  5.   

    string sql = "insert into Department (DepartmentName) values ('市场部');select @@identity ";
    然后用ExecuteScalar取值
      

  6.   

    select SCOPE_IDENTITY() 不对
    明显的: select @@identity 
      

  7.   

    string sql = "insert into Department (DepartmentName) values ('市场部');select SCOPE_IDENTITY() ";
                return SqlHelper.ExecuteScalar(SqlHelper.ConnectionString, CommandType.Text, sql, null);
    这样改就OK啦、、、
      

  8.   

    用ExecuteScalar方法返回第一行第一列的值。祝你好运
      

  9.   


    select SCOPE_IDENTITY() 不对???