【发布时间】:2015-06-15 19:17:31
【问题描述】:
所以我正在开展一个项目来对我的游戏进行编目,但我遇到了一个问题。我有一个包含两个表的数据库,其细分如下:
游戏信息
- gameId(PK) 是身份(自动增量)
- 游戏价格
- 姓名
- 版
Game_Notes
- noteId(PK) 是身份(自动增量)
- 注释
- 注意日期
- gameId(FK)
一个游戏可以有很多注释,因此两个表之间存在一对多的关系,其中“Game_Notes”中名为“gameId”的列是 FK/引用“Game_Information”的主键同名。
现在在 Webmatrix 中,我编写了一个页面,让我可以输入游戏的价格、名称和版本。在同一页面中,我还可以添加有关游戏的注释。在发布时,页面从文本框中获取信息并尝试执行以下操作:
db.Execute("INSERT INTO Game_Information (gamePrice, name, edition) VALUES (@0, @1, @2)", gamePrice, name, edition);
db.Execute("INSERT INTO Game_Notes(notes, noteDate) VALUES (@0, @1)", notes, noteDate);
现在这可以正常工作并将信息放入正确的表格中,但它会将“Game_Notes”中的 gameId(FK) 留空。
我想要的是“Game_Information”中分配给gameId(PK)的数字反映在“Game_Notes”中的gameId(FK)中。
任何人都可以帮助我或指出我可以阅读的文章吗?谢谢。
-更新- 让问题更清晰。
【问题讨论】:
-
GameID 应该是
Game_Information中的一个身份,但应该是Game_Notes中的一个外键。 -
首先你应该创建Store过程,然后使用scope_identity()在GameNotes中插入gameid