【发布时间】:2013-07-27 20:12:43
【问题描述】:
我有这个代码:
string conStr = ConfigurationManager.ConnectionStrings["BackgammonGame"].ConnectionString;
SqlConnection con = new SqlConnection(conStr);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
con.Open();
cmd.CommandText = ("INSERT INTO Game (playerA, playerB) OUTPUT INSERTED.gameID VALUES (@playerA, @playerB)");
cmd.Parameters.Add("@playerA", SqlDbType.NVarChar).Value = firstPlayer;
cmd.Parameters.Add("@playerB", SqlDbType.NVarChar).Value = secondPlayer;
cmd.ExecuteNonQuery();
int id = (int)cmd.ExecuteScalar();
con.Close();
当我插入此表时,我有一个名为 gameID 的 auto_increment int 主键列,并且我在 sql 语句中声明我希望在输出中使用 gameID。
我的问题是,当我在代码中写下这一行时:int id = (int)cmd.ExecuteScalar(); 插入的参数在表中出现了两次(2 行具有相同的信息。),但是当我删除它时就可以了。
我需要这一行,所以我可以在其他表中使用这个 id。
【问题讨论】:
标签: c# sql .net auto-increment