我有一个INSERT查询,我希望DB返回刚刚插入的行的ID.
sqlString = "INSERT INTO MagicBoxes (OwnerID, Key, Name, Permissions, Active, LastUpdated) VALUES (@OwnerID, @BoxKey, @BoxName, 0, 1, @Date) SET @ID = SCOPE_IDENTITY();";
cmd = new SqlCommand(sqlString, con);
cmd.Parameters.AddWithValue("@OwnerID", OwnerID);
cmd.Parameters.AddWithValue("@BoxKey", BoxKey);
cmd.Parameters.AddWithValue("@BoxName", BoxName);
cmd.Parameters.AddWithValue("@Username", Username);
cmd.Parameters.AddWithValue("@Date", DateTime.Now);
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
我目前有这个,我不确定接下来我需要做什么......
在Visual Studio中使用C#,我在表中插入一行,如下所示:
INSERT INTO foo (column_name)
VALUES ('bar')
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情,但我不知道正确的语法:
INSERT INTO foo (column_name)
VALUES ('bar')
RETURNING foo_id
Run Code Online (Sandbox Code Playgroud)
这将从foo_id新插入的行返回列.
此外,即使我找到了正确的语法,我还有另外一个问题:我有SqlDataReader并且SqlDataAdapter随意使用.据我所知,前者用于读取数据,第二个用于操作数据.当使用return语句插入一行时,我正在操作和读取数据,因此我不确定要使用什么.也许我应该用这个完全不同的东西?