日期:2014-05-17  浏览次数:20411 次

如何得到Add的记录自增字段的值?
数据库是SQL2K
asp.net+ado.net操作数据库
这里有个问题
有一张表的结构是这样的:
id:自增字段
context:varchar
url:varchar
……
那么,我要添加一条记录用select * from 表名 where 1=2,用SqlDataAdapter.Fill(dt)(dt为DataTable)
DataRow dr=dt.NewRow();
填充dr各个字段
dt.Add(dr);
然后用SqlDataAdapter.Update(dt)添加数据。
这里就有一个问题了,在Update后,我如何得到新添记录的id字段值呢。




------解决方案--------------------
insert into 表面(字段名) values(值)
;select @@IDENTITY
添加成功返回自动增长列的ID
------解决方案--------------------
参考

------解决方案--------------------

调用
 int a=(int)GetScalar("insert into 表面(字段名) values(值)
;select @@IDENTITY");



 public object GetScalar(string sql, params SqlParameter[] pars)
{
string connstr = _connstr;
SqlConnection sqlConnection = new SqlConnection(connstr);
SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);
sqlCommand.Parameters.AddRange(pars);
sqlConnection.Open();
object scalar = sqlCommand.ExecuteScalar();
sqlCommand.Parameters.Clear();
sqlConnection.Close();
return scalar;
}


用ExecuteScalar 不要用adapter