控制台下使用tadoquery,new运行错误

mimong_lin 2007-04-17 11:04:14
我在控制台下使用tadoconnection、tadoquery:
TADOConnection * conn = new TADOConnection(NULL);
TADOQuery * qry = new TADOQuery(NULL);//这里运行时出错

编译能通过,运行时在qry的new处就报错了:
applicaion is not licensed to use this feature


为什么啊???
conn都没事。。是还要加什么东西么?
...全文
140 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mimong_lin 2007-04-18
  • 打赏
  • 举报
回复
AcitveX引用一下?

什么意思,要引用什么呢?

不好意思,请说得明白一些,谢谢。
zwh202342 2007-04-17
  • 打赏
  • 举报
回复
因为ADO控件引用到最底层是个CoM控件,程序中引用com控件必须先初始化,用完后可用
CoUninstallize();释放。
zwh202342 2007-04-17
  • 打赏
  • 举报
回复
BCB里面要加入Com初始化
Coinstallize();
zwh202342 2007-04-17
  • 打赏
  • 举报
回复
ActiveX引用一下这个试试!
我测试过了没问题!
mimong_lin 2007-04-17
  • 打赏
  • 举报
回复
#include <vcl.h>
#include <Classes.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
#include <stdexcept>
using namespace std;

#include <stdio.h>

int main(int argc, char* argv[])
{

CoInitialize(NULL);
AnsiString str = "Provider=SQLOLEDB.1;Password=sa";
str+=";Persist Security Info=True;User ID=sa";
str+=";Initial Catalog=pubs;Data Source=127.0.0.1";
TADOConnection * conn = new TADOConnection(NULL);
TADOQuery * qry = new TADOQuery(NULL);
try
{
conn->ConnectionString = str;
conn->Connected = true;
qry->Connection = conn;
qry->Active = false;
qry->SQL->Clear();
qry->SQL->Add("select * from authors");
qry->Active = true;
}
catch (const exception& e)//catch (const exception & e)
{
printf("raised a exception.\n");
return -1;
}
printf("count of authors is %d \n",qry->RecordCount);
getchar();
CoUninitialize();

return 0;
}

都不是这方面的事。

1,178

社区成员

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

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