c++builder 6.0 使用ado

C++ Builder ADO数据库连接与保存 aq->Post();//next的游标就已经post了。TEXT("警告"), MB_OK | MB_ICONWARNING);TEXT("警告"), MB_OK | MB_ICONWARNING);aq->Post();//next的游标就已经post了。::MessageBox(0, TEXT("打开表时发生错误!if(aq->RecordCount==0)//说明彩果为空。//ShowMessage("完成彩果保存!//当找到相同期数时。// 如果连接成功,就通过ADOQuery读取字段。 阅读详情

可以使用系统的TADOConnection 组件,这里使用原生对象来操作,只用于学习

1.导入ado库 import library ,生成adodb_ocx.h,adodb_tlb.h

2.修改生成的头文件,

  String sql_update = "update userinfo set name   = 'abc'";
     TConnection* db = new TConnection(this);
     int iState =0 ;

     try
     {
     try
     {

     db->ConnectionString = UTF8Decode("Provider=SQLOLEDB.1;Password=000000;Persist Security Info=True;User ID=sa;Initial Catalog=TEST;Data Source=127.0.0.1");
     db->Open(NULL,NULL,NULL,adConnectUnspecified);

     if(db->State != adStateOpen) ;
     {

      if(db->Errors->Count >0)
      {
       Variant i = 0 ;
       String str = db->Errors->get_Item(i)->Description ;

       MessageBox(Handle,str.c_str(),"error",MB_ICONSTOP);
       }

      return  ;
     }

     Variant iRows = -1;

     db->Execute(UTF8Decode(sql_update),iRows,adCmdText);
     Edit1->Text = IntToStr(iRows.lVal);
     }
     catch(Exception& e )
     {

      if(db->Errors->Count >0)
      {
       Variant i = 0 ;
       String str = db->Errors->get_Item(i)->Description ;

       MessageBox(Handle,str.c_str(),"error",MB_ICONSTOP);
       }
     }

     }
     __finally
     {
     db->Close();
     delete db ;
     }

遇到的错误:

1.函数调用,没用任何反应:

修改h文件中的声明

 __property BSTR ConnectionString={ read=get_ConnectionString,write = set_ConnectionString, stored=false};

 stored=false 改为stored=true

2.com异常提示框 "HRCHECK"

#if !defined(OLECHECK)
#define OLECHECK(hrexpr) DebugHlpr_HRCHECK(hrexpr, #hrexpr, __FILE__, __LINE__)
#endif

void DebugHlpr_THROW(T* msg, HRESULT hr, T* file, bool /*assertFailed*/)
{
#if defined(ComObjHPP)
  // NOTE: This does not retrieve rich error information, the way Delphi and VB environments
  //       do. Eventually this 'throw' will either throw a rich EOleException or some other
  //       OLE exception class (something equivalent to _com_error, maybe??)
  //
  //       For now, you can specialized [T = TCHAR] 'DebugHlpr_THROW' to retrieve rich error
  //       information and throw a VCL exception class, if you're using VCL classes already,
  //       or throw a custom exception class.
  //
  //       NOTE: Use the assertFailed parameter to distinguish between Assertion and
  //             OLECHECK failures. (Maybe throw something different??)
  throw EOleException(msg, hr, file, _T(""), 0);
#else
  throw msg;  // Hopefully we never get here: Need something much better to throw!!
#endif
}

处理:#define OLECHECK 1,默认是检查OLE异常


#if !defined(PROMPT_ON_HRCHECK_FAILURE)
    int i = IDYES;
#else
    int i = DebugHlpr_PROMPT(_T("HRCHECK: "), szMsg);
#endif
    if (i == IDYES)
      DebugHlpr_THROW(szMsg, hr,lfile, false);
    else if (i == IDCANCEL)
      ::DebugBreak();
    // NOTE: IDNO - implies we keep chugging along
  }

处理:#define PROMPT_ON_HRCHECK_FAILURE 1   ,就不会在运行时报HRCHECK提示框

Borland C++ Builder 6.0 快速入门:从RAD开发到数据库应用实战 RAD(快速应用程序开发)是一种通过可视化设计和组件复用,显著提升图形界面程序开发效率的软件工程方法。其核心原理是将界面元素封装为可拖拽的控件,并通过事件驱动模型将用户交互与业务逻辑绑定,从而让开发者能聚焦于功能实现而非底层细节。在C++领域,Borland C++ Builder 6.0(BCB6)是实践RAD理念的经典工具,它基于成熟的VCL组件库,兼顾了C++的运行性能与可视化开发的便捷性。对于需要维护遗留系统、开发小型桌面工具或嵌入式工业控制软件的开发者而言,掌握BCB6的数据库连接、组件使用和项目 阅读详情

相关推荐

C++Builder 数据库程序设计开发详解

今天是2004年12月6号,从今天开始,我的blog将陆续发表我在BCB数据库开发过程序中的应用心得与详细开发指导。所用开发环境:C++ Builder 5.0第一篇:BCB与数据库的关系        很多人开发数据库应用程序存在一个概念模糊的问题,也就是说,什么是前台,什么是后台。其实,BCB开发数据库应用程序,就是用BCB提供的功能,通过数据链路来操作数据库!这里的数据链路就是指

雲中漫步(SsyqCwj)的专栏 4533

C++Builder之数据库ADO组件-TADOStoredProc学习

前言:C++Builder的资料相对较少,查了很多都是Delphi的,最终还是查资料摸索出来了,完整记录在此,共享给需要的人。 String __fastcall TForm1::GetModelNumber(String SN) { //数据库连接字符串 String StrConnect = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=Root;Password=888;Initial Catalog=Test_Prod;D

我的博客 519

C++Builder 6 深度指南:维护遗产系统与现代Windows开发实战

在桌面应用开发领域,快速应用开发(RAD)工具通过组件化和可视化设计,极大地提升了软件构建效率。其核心原理在于将可复用的功能模块封装为控件,并通过属性与事件驱动机制,实现界面与逻辑的松耦合。这种模式的技术价值在于能显著降低开发门槛,加速原型验证和业务系统交付,尤其适用于需要快速迭代的工业控制、数据采集等场景。C++Builder 6作为经典的RAD工具,其VCL组件库和高效的C++编译器,至今仍在维护特定行业的遗产系统中发挥着关键作用。本文聚焦于C++Builder 6的环境配置、核心架构与实战开发,为处理

weixin_30372371的博客 344

C++Builder 6.0 常用函数

均收集自 Borland C++ Builder VCL 常用函数集合,提前了解,开发事半功倍

码城的博客 901

C++ Builder 6 工业控制与遗留系统维护实战指南

在工业自动化、数据采集和遗留系统维护领域,快速应用程序开发(RAD)工具和高效的图形用户界面(GUI)构建能力至关重要。C++ Builder 6 作为经典的 RAD 工具,其核心原理在于将面向对象编程与可视化组件库(VCL)深度结合,通过事件驱动模型和拖拽式设计,极大提升了 Windows 桌面应用的开发效率。这一技术价值在需要直接操作硬件(如串口、板卡)或维护长期稳定运行的工业控制软件时尤为突出,其开发速度和运行稳定性在现代场景中依然具备优势。应用场景广泛覆盖了医疗设备、数控机床、工控机等配套 PC 端

weixin_30621711的博客 524

C++ Builder 6.0:可视化编程入门与经典RAD开发实战指南

可视化编程通过拖拽控件和属性设置,让开发者能快速构建图形用户界面(GUI),其核心原理是基于事件驱动的消息循环机制。这种技术显著降低了桌面应用开发的门槛,提升了开发效率,尤其适合初学者快速建立编程信心和直观理解程序运行逻辑。在工程实践中,RAD(快速应用程序开发)工具将可视化设计与编程语言深度结合,实现了“所见即所得”的开发体验。C++ Builder 6.0作为经典的RAD工具,完美融合了C++语言能力与高效的VCL组件库,让开发者无需深入操作系统API细节,即可专注于业务逻辑实现。其简洁的环境和成熟的封

weixin_33841503的博客 480

c++builder 6.0 使用原生ADO接口访问数据库

用BCB的ado组件访问数据,总觉得别扭,用惯了vc的格式,还是想用自己熟悉的写法来操作,之前想用import library的方法来操作原生的ADO,今天发现c++builder 已经封装好了,就在adoinit.hpp文件中,真是方便极了。 我想要的东西BCB都有现成的,BCB真是好用! 为什么要用原生的ADO来访问呢,BCB封闭的TADO类很好用,功能太复杂,用不到的功能太多了。 上代......

自学C++,会写HelloWorld 1792

Borland C++ Builder 6.0:经典RAD工具在现代环境下的配置与实战指南

快速应用程序开发(RAD)是一种通过可视化组件和模型驱动方法提升软件构建效率的经典范式,其核心原理在于将重复性界面编码转化为拖拽式设计,从而让开发者聚焦业务逻辑实现。在技术价值层面,RAD工具显著降低了GUI应用程序的开发门槛,尤其适合需要快速迭代的内部工具和工业控制软件。虽然现代跨平台框架已成主流,但在维护遗留系统、教学演示或需要轻量级原生执行的特定场景中,基于VCL(Visual Component Library)的经典RAD环境仍具独特优势。本文以Borland C++ Builder 6.0为例,

weixin_30600197的博客 453

在C++Builder 5中使用ADO数据库编程

在C++Builder 5中使用ADO数据库编程---转载自《计算机世界日报》 (文/凌震)---- 本文介绍了在 C++Builder 5环境下新增的ADO控件的使用方法,并给出了一个简单的实例。 ---- 一、ADO概述 ---- ADO(Active Data Object) 是微软公司基于OLE DB的数据库模型。它实现了一系列COM接口,通过数据提供者(Data Prov

luhongjun的专栏 1598

C++ Builder 6实战教程:从零构建Windows桌面应用,掌握C++与VCL核心开发

C++作为一门经典的面向对象编程语言,其核心价值在于对内存管理、指针操作和底层系统调用的精细控制,这使得它在需要高性能和硬件直接交互的桌面应用开发中依然占据重要地位。其技术原理通过类、继承、多态等机制,实现了代码的模块化和复用,为构建复杂软件系统提供了坚实基础。在工程实践中,快速应用程序开发工具能够显著提升GUI程序的开发效率,通过可视化拖拽和事件驱动编程模型,将界面设计与业务逻辑紧密结合。C++ Builder 6正是这样一款经典的RAD工具,它基于VCL组件库,让开发者能够在直观的IDE环境中,快速构建

weixin_30621711的博客 345

深入C++Builder6:编程技巧与实例详解

本文还有配套的精品资源,点击获取 简介:本书是C++Builder6集成开发环境的实用指南,适合有C/C++基础的开发者。书中涵盖了从基础知识到高级应用的各个方面,包括VCL框架、事件驱动编程、数据库编程、内存管理、异常处理、网络及多线程编程、自定义组件开发、项目管理及调试等。通过实战案例,帮助开发者提升软件开发技能,无论对于新手还是有经验的开发者,都是一本不可多得的参考书...

weixin_28888459的博客 1843

在VC6.0中使用ADO开发数据库应用程序

在VC6.0中使用ADO开发数据库应用程序 使用ADO开发应用程序有两种方法,一种是直接在应用程序中使用ADO数据控件,该方法最简单,无需编写一行代码即可实现对数据库的访问,另一种方法是直接使用ADO对象实现对数据库的操作,该方法较复杂,但可以让程序员更深入的控制数据库。   一.使用ActiveX控件建立应用程序   该方法需要两个ActiveX控件:Micros

greatsong的专栏 1816

C++builder ADO实例

C++builder ADO实例,连接,查询,插入,删除。

c++ builder 6.0 使用 Programming with DB-Library for C

今天要在C++builder 中 Programming with DB-Library for C ,学到不少c++builder 的知识。 在c++builder 中使用 C函数库的一些注意事项: DB-LIBRARY C 默认使用的是__cdecl调用 ,不修改调用约定,link会提示函数找不到的问题 [Linker Error] Unresolved external '_dbin......

自学C++,会写HelloWorld 582

c++ builder (BCB) Oracle 导出 Excel 表

通过 odac 访问 oracle 数据库,并将制定的表导出到excel表,通过ole方式导出。

从零构建腾讯滑块验证码破解引擎:逆向工程与实战对抗

本文深入解析腾讯滑块验证码(原天御验证码)的防护机制,包括环境感知层、行为分析层和验证决策层的核心技术。通过JSVMP虚拟机保护、轨迹验证算法和动态加密体系,腾讯验证码实现了高效的人机识别。文章还提供了安全研究实践指南,涵盖环境模拟和验证码识别方案,并探讨了防御对抗的演进趋势与合规研究建议。

rl6adventurer的博客 831

C++ builder 2007 使用ADO数据库 进行 添加 删除 修改

C++ builder 2007 使用ADO数据库 进行 添加 删除 修改时间:2009-04-30 13:55来源:本站原创 作者:陈华林 点击:112次       ado.rar 打包下载ado.cpp//--------------------------------------------------------------------------

lionzl的专栏 1135

Canoe主要功能的详细介绍

CANoe是德国Vetor公司推出的一款用于总线开发的设备,全程为CAN open environment。后来随着总线技术的发展,CANoe不仅限于CAN类型的总线开发,还包含LIN、FlexRay、MOST和以太网等开发。在车载网络和ECU开发、测试和分析方面,CANoe几乎长期占据着垄断地位,当然是因为其强大的功能性了。目前用这个工具的主要是整车厂和供应商的网络设计工程是、开发工程师和测试工程师。小编当时安装CANoe的时候也是花了一定的时间和精力,好在没有崩溃。

车载测试 3723

c++ builder中的ado使用

新建工程:project1添加以下控件:ADOConnection1;ADOTable1;ADOQuery1;ADOCommand1;DataSource1;DBGrid1;DBNavigator1这就做成一个简单的数据.在工程的目录下加一个数据库(pronote.mdb)相关的属性的设置:ADOConnection1Name:ADOConnection1c

qsd007的专栏 2603

RAG效果调优清单(命中率提升3倍)

本文提出了一套工程可落地的RAG(检索增强生成)模型组合方案,强调通过最优组合实现效果、成本和扩展性的平衡。核心架构包括Embedding模型、向量数据库检索、Rerank模型和LLM生成四个环节,推荐了四种具体组合方案:本地最优性价比(bge+reranker+Qwen 7B)、效果优先(bge-large+reranker+14B模型)、高并发(轻量模型+vLLM)和中英混合(多语言模型)。文章指出Embedding决定检索下限,Rerank提升准确率上限,LLM影响最终体验,并提供了不同场景的优化策略

刘一说的IT专栏 523

汇川Easy系列PID_AT指令弹簧质量阻尼系统闭环控制仿真测试

汇川Easy系列PLC系统PID指令(温度控制PID应用编程)

RXXW_Dor的博客 765
上一篇: c++builder6.0 数据库查询函数select * into 功能的实现
下一篇: vs2015 AdminDeployment.xml
阿峰的编程博客
博客等级 码龄20年 2800粉丝 222原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿峰的编程博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值