使用ADODB在C#

我们知道在C#和VB.net中,已经不推荐用ADODB了,但是用ADO.net中的各种添加记录的方法时,都很麻烦,而且针对不同的数据提供器,取得自动编号的方法各不相同,多么怀念ADODDB中的:
         Rs.Open("SELECT TOP 1 * FROM [YourTable]", Conn, adOpenKeyset, adLockOptimistic, adCmdText);
        Rs.AddNew(vtMissing, vtMissing);
        Rs.Fields["FiledA_Name"].Value = FiledA_Value;
        Rs.Fields["FiledB_Name"].Value = FiledB_Name;
        Rs.UpdateBatch(adAffectCurrent);     
        long nNewItemID = (long)Rs.Fields["_ID"].Value;
        Rs.Close();

其实在C#中也可以用ADODB,只需要在工程的引用中添加C:\Program Files\Common Files\System\ado\msado15.dll,并这样定义vtMissing:

	System.Reflection.Missing vtMissing = System.Reflection.Missing.Value;

下面样式的代码就完全可用了:

        ADODB.Recordset Rs = new ADODB.Recordset();
        string sSql = "SELECT TOP 1 * FROM [YourTable]";
        Rs.Open(sSql, Conn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, (int)ADODB.CommandTypeEnum.adCmdText);
        Rs.AddNew(vtMissing, vtMissing);
        Rs.Fields["FiledA_Name"].Value = FiledA_Value;
        Rs.Fields["FiledB_Name"].Value = FiledB_Name;
        Rs.UpdateBatch(ADODB.AffectEnum.adAffectCurrent);     
        long nNewItemID = Convert.ToInt64(Rs.Fields["_ID"].Value);
        Rs.Close();


 



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#使用 ADODB 访问 Oracle 数据库,需要按照以下步骤: 1. 引用 ADODB 库 在 Visual Studio 中,右键项目,选择“添加引用”,在“COM”标签页中找到“Microsoft ActiveX Data Objects x.x Library”,勾选后点击“确定”即可引用 ADODB 库。 2. 创建并打开连接 使用 ADODB.Connection 对象创建并打开连接,代码示例如下: ```csharp using ADODB; //... Connection conn = new Connection(); conn.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=your_db;User ID=your_user;Password=your_password"; conn.Open(); ``` 其中,“Data Source”指定了 Oracle 数据库的连接字符串,“User ID”和“Password”是数据库的用户名和密码。 3. 执行 SQL 语句 使用 ADODB.Command 对象执行 SQL 语句,代码示例如下: ```csharp Command cmd = new Command(); cmd.ActiveConnection = conn; cmd.CommandText = "SELECT * FROM your_table"; Recordset rs = cmd.Execute(); while (!rs.EOF) { //逐行处理查询结果 rs.MoveNext(); } ``` 其中,“CommandText”指定了需要执行的 SQL 语句,“Execute()”方法执行 SQL 语句并返回 Recordset 对象,可以通过 Recordset 对象逐行处理查询结果。 4. 关闭连接 使用 Connection 对象的“Close()”方法关闭连接,代码示例如下: ```csharp conn.Close(); ``` 完整示例代码如下: ```csharp using System; using ADODB; namespace AdoOracleTest { class Program { static void Main(string[] args) { Connection conn = new Connection(); conn.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=your_db;User ID=your_user;Password=your_password"; conn.Open(); Command cmd = new Command(); cmd.ActiveConnection = conn; cmd.CommandText = "SELECT * FROM your_table"; Recordset rs = cmd.Execute(); while (!rs.EOF) { Console.WriteLine(rs.Fields["column_name"].Value); rs.MoveNext(); } conn.Close(); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值