c++ builder的active问题

sinat_34641261 2016-06-13 10:23:27
用c++ builder连接access文件,用的ADBC,初始化之后添加数据会报错,如下:

然后根据提示去修改dataset组件的active属性

将active改为true之后就会报错,错误如下:

求解,新手表示不懂这个错误,该如何解决
...全文
129 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2016-06-14
  • 打赏
  • 举报
回复
调用ADOQuery1->Open()方法会将active属性置为true。
sinat_34641261 2016-06-14
  • 打赏
  • 举报
回复
ADOConnection里面的数据库连接路径驱动错误,改了之后可以将dataset的active属性置为true了,此错误在大神的指点下已解决,感谢大家
ooolinux 2016-06-13
  • 打赏
  • 举报
回复
试试用代码把它的的active属性赋值为true
ooolinux 2016-06-13
  • 打赏
  • 举报
回复
函数方法也叫接口(interface)的,给这个active属性赋值会触发函数调用。
sinat_34641261 2016-06-13
  • 打赏
  • 举报
回复
引用 8 楼 u010165006 的回复:
[quote=引用 6 楼 sinat_34641261 的回复:] [quote=引用 4 楼 u010165006 的回复:] 很久没用忘了,无视3楼。 你用的TADOQuery,比如: AnsiString sqlStr="select ............"; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sqlStr); ADOQuery1->Open(); //select语句一般用Open 或者: AnsiString sqlStr="insert............"; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sqlStr); ADOQuery1->ExecSQL(); //insert和update语句一般用ExecSQL
这个程序是有的,有没有可能是串口的问题呢?我用的虚拟串口。。。[/quote] 你不是访问Access数据库吗,怎么虚拟串口? select * from 之间加个空格看看,你这里是查询语句,不是你主楼说的添加数据[/quote]
引用 8 楼 u010165006 的回复:
[quote=引用 6 楼 sinat_34641261 的回复:] [quote=引用 4 楼 u010165006 的回复:] 很久没用忘了,无视3楼。 你用的TADOQuery,比如: AnsiString sqlStr="select ............"; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sqlStr); ADOQuery1->Open(); //select语句一般用Open 或者: AnsiString sqlStr="insert............"; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sqlStr); ADOQuery1->ExecSQL(); //insert和update语句一般用ExecSQL
这个程序是有的,有没有可能是串口的问题呢?我用的虚拟串口。。。[/quote] 你不是访问Access数据库吗,怎么虚拟串口? select * from 之间加个空格看看,你这里是查询语句,不是你主楼说的添加数据[/quote] 就是说我的数据访问模块里面,DataSet的active属性只要一改成true,就会出现不支持此接口的报错,我以为是串口的问题
ooolinux 2016-06-13
  • 打赏
  • 举报
回复
引用 6 楼 sinat_34641261 的回复:
[quote=引用 4 楼 u010165006 的回复:] 很久没用忘了,无视3楼。 你用的TADOQuery,比如: AnsiString sqlStr="select ............"; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sqlStr); ADOQuery1->Open(); //select语句一般用Open 或者: AnsiString sqlStr="insert............"; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sqlStr); ADOQuery1->ExecSQL(); //insert和update语句一般用ExecSQL
这个程序是有的,有没有可能是串口的问题呢?我用的虚拟串口。。。[/quote] 你不是访问Access数据库吗,怎么虚拟串口? select * from 之间加个空格看看,你这里是查询语句,不是你主楼说的添加数据
sinat_34641261 2016-06-13
  • 打赏
  • 举报
回复
引用 5 楼 u010165006 的回复:
参考: 高等院校计算机技术十二五规划教材:数据库技术实践教程2012-08 杨爱民 不过此书的案例有一个缺点,没用使用ADOConnection,而是直接用ADOQuery的ConnectionString连接Access数据库,多个ADOQuery时会有一点问题。
不要紧,我去找找看看,谢谢啦
sinat_34641261 2016-06-13
  • 打赏
  • 举报
回复
引用 4 楼 u010165006 的回复:
很久没用忘了,无视3楼。
你用的TADOQuery,比如:
AnsiString sqlStr="select ............";
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(sqlStr);
ADOQuery1->Open(); //select语句一般用Open
或者:
AnsiString sqlStr="insert............";
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(sqlStr);
ADOQuery1->ExecSQL(); //insert和update语句一般用ExecSQL


这个程序是有的,有没有可能是串口的问题呢?我用的虚拟串口。。。
ooolinux 2016-06-13
  • 打赏
  • 举报
回复
参考: 高等院校计算机技术十二五规划教材:数据库技术实践教程2012-08 杨爱民 不过此书的案例有一个缺点,没用使用ADOConnection,而是直接用ADOQuery的ConnectionString连接Access数据库,多个ADOQuery时会有一点问题。
ooolinux 2016-06-13
  • 打赏
  • 举报
回复
很久没用忘了,无视3楼。 你用的TADOQuery,比如: AnsiString sqlStr="select ............"; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sqlStr); ADOQuery1->Open(); //select语句一般用Open 或者: AnsiString sqlStr="insert............"; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sqlStr); ADOQuery1->ExecSQL(); //insert和update语句一般用ExecSQL
ooolinux 2016-06-13
  • 打赏
  • 举报
回复
放在读取或写入数据库之前
sinat_34641261 2016-06-13
  • 打赏
  • 举报
回复
引用 1 楼 u010165006 的回复:
试试用代码把它的的active属性赋值为true


根据报错提示跳转,指令应该加在这里吗?谢谢啦,照着指导书做的,对这个还不熟练
Borland C++Builder 5.0 (简介)   Borland C++Bilder 5.0是Interprise(Borland)公司推出的基于C++ 语言的快速应用程序开发(Rapid Application Development,RAD)工具,它是最先进的开发应用程序的组件思想和面向对象的高效语言C++融合的产物。C++Builder 充分利用了已经发展成熟的Delphi 的可视化组件库(Visual Component Library,VCL),吸收了Borland C++ 5.0 这个优秀编译器的诸多优点。C++Builder 结合了先进的基于组件的程序设计技术,成熟的可视化组件库和优秀编译器,调试器。发展到5.0版本,C++Builder 已经成为一个非常成熟的可视化应用程序开发工具,功能强大而且效率高。 C++Builder的特色: 1.C++Builder 是高性能的C++开发工具   C++Builder是基于C++的,它具有高速的编译,连接和执行速度。同时,C++Builder具有双编译器引擎,不仅可以编译C/C++程序,还能编译Object Pascal语言程序。 2.C++Builder是优秀的可视化应用程序开发工具   C++Builder是一完善的可视化应用程序开发工具,使程序员从繁重的代码编写中解放出来,使他们能将注意力重点放在程序的设计上,而不是简单的重复的劳动中。同时,它提供的完全可视的程序界面开发工具,从而使程序员对开发工具的学习周期大大缩短。 3.C++Builder具有强大的数据库应用程序开发功能   C++Builder 提供了强大的数据库处理功能,它使的程序员不用写一行代码就能开发出功能强大的数据库应用程序,这些主要依赖于C++Builder众多的数据库感知控件和底层的BDE数据库引擎。C++Builder除了支持MicroSoft的ADO(Active Data Object)数据库连接技术,还提供了一种自己开发的成熟的数据库连接技术——BDE(Borland Database Engine)数据库引擎。 4.C++Builder具有强大的网络编程能力 C++Builder具有众多的Internet应用程序开发控件,如WebBroker,CppWebBroswer,WinSocks等,它们基本含盖了Internet应用的全部功能,利用它们程序员可以方便地建立自己地Internet应用程序。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧