我下面这段操作sqlserver的代码引起cpu,寄存器指令错误是怎么回事??

jd2bs 2002-09-08 02:33:32
是这样的:在用组件创建有form的数据库连接时完全正常,可以正确读写数据;我现在把它写成一个控制台程序,编译通过,但运行时发生异常,说cpu指令,内存什么的错误......用单步执行,发现我指定连接字串的地方有错误;

可是我的连接字串是直接从有form的工程直接拷贝来的,应该不会错吧?以下是代码:

unit1.cpp:

//---------------------------------------------------------------------------

#include <vcl.h>
#include <iostream.h>
#pragma hdrstop
#include <ADODB.hpp>
#include <Db.hpp>
//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
char username[10]="j2ee",password[16]="123456",email[20]="12@2.net";
char address[30]="cnzjnb",phone[20]="1234567",strsql[100];

TADOConnection *ADOConnect;
ADOConnect->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=false;User ID=sa;Initial Catalog=test;Data Source=YGP";
ADOConnect->Open();
TADOQuery *ADOQuery;
ADOQuery=new TADOQuery(Application->Owner);
ADOQuery->Connection=ADOConnect;

sprintf(strsql,"insert into usr(username,password,email,address,phone) values('%s','%s','%s','%s','%s')",
username,password,email,address,phone);
ADOQuery->SQL->SetText(strsql);

ADOQuery->ExecSQL();
ADOQuery->Close();
return 0;
}
//---------------------------------------------------------------------------
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jd2bs 2002-09-08
  • 打赏
  • 举报
回复
实例化后编译运行,提示未调用CoInitialize()
于是在TADOConnection *ADOConnect;前加上CoInitialize();
头上加入#include <objbase.h>

编译时报错:CoInitialize()缺少参数

??这个函数有参数吗??
lzwcom 2002-09-08
  • 打赏
  • 举报
回复
ADOConnect 没有实例化
ADOConnect = new TADOConnect(Application->Owner);
advanced 2002-09-08
  • 打赏
  • 举报
回复
TADOConnection *ADOConnect;
ADOConnect->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=false;User ID=sa;Initial Catalog=test;Data Source=YGP";
还有,你的ADOConnect还没有实例化,就引用了。
advanced 2002-09-08
  • 打赏
  • 举报
回复
用完的指针你没有删除。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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