数据库是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