.net 使用Oledb执行存储过程并接收游标数据
1.关于Oledb
百度百科等专业介绍很详细,可以自己去查看。
个人理解:
Oledb是.Net用于连接数据库,可以连接Oracle、Sqlserver、mysql等多种数据库。其用法简单、快捷,区别于通常步骤是:
建立 OleDbConnection==》open connection==》建立OledbCommand ==》 配置OledbCommand属性【connection、commandText、commandType、Parameters等】= =》执行OledbCommand ==》返回结果信息
注意: OledbConnection中string connectionString数据库连接条件中连接Oracle驱动分为两种:OraOLEDB 、MSDAORA,前者是Oracle公司提供、后者是微软公司提供。
参考:
Oracle数据库连接中Provider=OraOleDb.Oracle.1与Provider=MSDAORA什么区别
2.使用DataSet接收存储中的游标返回值
需要使用OleDbDataAdapter,通过OleDbDataAdapter的SelectCommand、InsertCommand、DeleteCommand、UpdateCommand等属性添加sql语句
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
// Create the Insert, Update and Delete commands.
da.InsertCommand = new OleDbCommand(
"INSERT INTO Customers (CustomerID, CompanyName) " +
"VALUES (?, ?)");
da.UpdateCommand = new OleDbCommand(
"UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
"WHERE CustomerID = ?");
da.DeleteCommand = new OleDbCommand(
"DELETE FROM Customers WHERE CustomerID = ?");
通过dataset接收游标类返回值时两点需要注意
(1)在数据库存储或者方法中定义返回类型为游标;
(2)在构造OleDbParameter入参时不需要绑定(定义)游标类出参。
参考:
C#调用oracle存储过程游标