我有一个问题,比如重新读取插入的记录标识值。我在使用DatSet插入记录。假设我有一个表格GAME,我删除了所有记录,我使用数据集插入记录,如下所示
SqlDataAdapter sqlAdapter = new SqlDataAdapter("select * from GAME", sqlCon);
DataSet ds = new DataSet();
DataRow dr;
sqlAdapter.FillSchema(ds, SchemaType.Source, "GAME");
sqlAdapter.Fill(ds, "GAME");
dr = ds.Tables["GAME"].NewRow();
SqlCommandBuilder objSqlcmdBuilder = new SqlCommandBuilder(sqlAdapter);
dr["NAME"] = "TABLE TENNIS";
dr["PlayedDate"] = "01/02/2010";
ds.Tables["GAME"].Rows.Add(dr);
sqlAdapter.Update(ds, "GAME");
MessageBox.Show(Convert.ToString(dr["GameId"]), "DataSet Demo");
这里我总是将GameId变为'0'。但我需要获取插入的记录标识值。是否有任何可能的方法来使用DataSet?我知道使用@@ Identity e.t.c获取插入记录Id值的过程。
答案 0 :(得分:1)
使用OUTPUT Clause,例如Output.Inserted,Output.Updated,Output.Deleted。我本可以为你做一个小例子,但我发现它已经存在[SQL SERVER – 2005 – OUTPUT Clause Example and Explanation with INSERT, UPDATE, DELETE]。希望这会有所帮助。