我们可以获得插入的记录ID吗?

时间:2012-09-28 07:35:52

标签: sql-server-2008 c#-4.0 dataset

我有一个问题,比如重新读取插入的记录标识值。我在使用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值的过程。

1 个答案:

答案 0 :(得分:1)

使用OUTPUT Clause,例如Output.Inserted,Output.Updated,Output.Deleted。我本可以为你做一个小例子,但我发现它已经存在[SQL SERVER – 2005 – OUTPUT Clause Example and Explanation with INSERT, UPDATE, DELETE]。希望这会有所帮助。