文本文件倒入数据库操作,怎么也搞不定。急求!

touchup 2003-09-15 12:00:21
文本文件如下,每27个字节是一条纪录,
135143004310220030818120137138948706130320030818120245139440622550320030818120346(这是三条纪录,后面还有很多)
把每条纪录的前11个字节提出,插入到本地access数据库,程序如下
typedef struct info_num
{
char phonenum[11];
char status[2];
char datetime[14];
}INFO; //定义结构体

INFO InBuff;

FILE * fpsrc = fopen("source.txt","r"); //文本文件存在source.txt中

while(!feof(fpsrc))
{
fread(&InBuff,sizeof(INFO),1,fpsrc);

String phonenum;
phonenum.SetLength(12);
strncpy ( phonenum.c_str(), InBuff.phonenum, 11 ) ;

String status;
status.SetLength(2) ;
strncpy ( status.c_str(), InBuff.status, 2 ) ;

if((status>=1)&&(status<=5))
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("insert into phone(phonenum) values('"+phonenum+"')"); //就这句执行不了,插不到库中
ADOQuery1->ExecSQL();
ADOQuery1->Close();

}
}
fclose(fpsrc);

请各位指点指点
...全文
69 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjjf 2003-09-15
  • 打赏
  • 举报
回复
在c语言中要注意转移字符
你用的单引号不对了,在每一个单引号的前面加入\
结果如下
ADOQuery1->SQL->Add("insert into phone(phonenum) values(\'"+phonenum+"\')");
CACACACACA 2003-09-15
  • 打赏
  • 举报
回复
去掉('"+phonenum+"')中的'"试试
或者麻烦一点。
String s;
s="insert into phone (phonenumm) valuse ";
s+=phonenum;
ADOquery1->SQL->Add(s);
注意空格,有时候空格少了也报错。

1,178

社区成员

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

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