我在Visual Studio中使用C#,将一行插入到这样的表中:INSERT INTO foo (column_name)VALUES ('bar')我想做这样的事情,但是我不知道正确的语法:INSERT INTO foo (column_name)VALUES ('bar')RETURNING foo_id这将从foo_id新插入的行返回该列。此外,即使我找到了正确的语法,我仍然遇到另一个问题:我拥有SqlDataReader并SqlDataAdapter可以支配。据我所知,前一个用于读取数据,第二个用于处理数据。当插入带有return语句的行时,我同时在操作和读取数据,因此我不确定该使用什么。也许我应该使用完全不同的东西?
3 回答
有只小跳蛙
TA贡献1824条经验 获得超8个赞
我认为您可以为此使用@@ IDENTITY,但是我认为周围有一些特殊的规则/限制吗?
using (var con = new SqlConnection("connection string"))
{
con.Open();
string query = "INSERT INTO table (column) VALUES (@value)";
var command = new SqlCommand(query, con);
command.Parameters.Add("@value", value);
command.ExecuteNonQuery();
command.Parameters.Clear();
command.CommandText = "SELECT @@IDENTITY";
int identity = Convert.ToInt32(command.ExecuteScalar());
}
- 3 回答
- 0 关注
- 343 浏览
添加回答
举报
0/150
提交
取消