c# - 在 C# 中以通用方式从插入返回标识值

标签 c# java sql oracle sqlite

我希望能够在调用插入语句后取回标识值。我现在可以做到这一点,通过添加 SET @RETURN_VALUE = SCOPE_IDENTITY() 并使用 out 参数,它可以很好地与 SQL Server 配合使用。

问题是这只适用于 SQL 服务器,我还需要支持 Oracle 和 SQLite。现在我知道可以为每个代码编写单独的代码,但是在 .NET 中是否有通用的方法来执行此操作?

例如,Java 有一个 getGeneratedKeys 方法,可以在插入后调用该方法,返回生成的列名和值的结果集。

.NET 中有任何类似的结构吗?

TIA

最佳答案

不幸的是,每个 DBMS 都有自己特定的方法来检索最后插入的标识值,因此您必须为每个 DBMS 编写特定的代码。

关于c# - 在 C# 中以通用方式从插入返回标识值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7516826/

相关文章:

java - 将错误消息从 SSE (Webflux) Spring Boot 应用程序传递到 Angular 7 前端

c# - 尝试将本地数据库添加到 VS2015 中的 c# 项目时出错

c# - 从用户控件中访问 MainWindow 中的用户控件名称

c# - 如何判断您是在自己的构造函数中,还是在 C# 中的基类构造函数中

c# - 对两个 List<SelectListItem> 进行正确的并集

c# - 如何在 sqlite join 从 windows store c#/xaml 应用程序中的多个表返回数据时设置属性类

java - 如何使用java代码在主报表中添加子报表

java - 不起作用<h :outputText> in <p:panelGrid>?

sql - 对具有不同 ID 的两行求和

MVC 4 Controller 中的 SQL 选择