在我的asp.net应用程序中,我想使用detailsview在数据库中显示/插入/更新数据。
阅读文档后:
http://msdn.microsoft.com/en-us/library/fkzs2t3h%28v=VS.85%29
IT在sqlserver中运行良好,但是当我使用oracle使用“oledb”提供程序时,会发生错误(我已将命名参数替换为'@xxx'到'?')。
该错误似乎是由此命令引起的:
InsertCommand="INSERT INTO Employees(LastName, FirstName) VALUES (@LastName, @FirstName);
SELECT @EmpID = SCOPE_IDENTITY()"
该命令首先将新数据插入db,然后检索'autonumber'。
在oracle中,它不起作用,所以我这样解决:
InsertCommand="INSERT INTO Employees(LastName, FirstName) VALUES (@LastName, @FirstName);
SELECT @EmpID = seq_employees.currval() from dual"
但它仍然不起作用。
有什么想法吗?
答案 0 :(得分:2)
看到这个问题:
Best practices: .NET: How to return PK against an oracle database?
基本上,您使用RETURNING键INTO参数,并为参数设置输出参数。