我只使用 VS2012 express(我正在使用 localdb)为我的应用程序创建了整个数据库,因此它处理了创建数据库以及创建数据集和表适配器以供我的应用程序使用。到目前为止,它工作得很好。我还制作了包装类以允许异步数据库读取,这也很有效。
在设计器中查看我的表适配器,当我添加我的插入方法(例如在Races
表上)时,它使用了以下查询:
INSERT INTO Races (ChampionshipID, Driver1, Driver2, RaceTime)
VALUES (@ChampionshipID,@Driver1,@Driver2,@RaceTime);
SELECT ID, ChampionshipID, Driver1, Driver2, RaceTime FROM Races WHERE (ID = SCOPE_IDENTITY())
我看到它之后会进行选择以返回刚刚插入的行。这非常适合我的需要。但是,它生成的实际方法具有以下签名:
int Insert1(long ChampionshipID, long Driver1, long Driver2, DateTime RaceTime)
它返回的是 anint
而不是预期的DataRow
or DataTable
,也没有将 aDataTable
作为参数插入。
难道我做错了什么?我怎样才能实现这个功能?