问一个数据库的问题???????急~~~~~~

qlqqlq1978 2003-10-11 08:40:07
我想用程序产生好多8位的16进制数序列然后一个个的加到ACESS数据库中,问如何实现,谢谢各位高手.
...全文
5 点赞 收藏 11
写回复
11 条回复
gyj_china 2003年10月12日
把这句pointer.cat_sprintf("%X",random(16));

换成IntToHex((ceil)(random(16)));
回复 点赞
qlqqlq1978 2003年10月12日
代码
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString pointer;
ADOTable1->Open() ;
for(int j=0;j<StrToInt(Edit2->Text);j++)
{
for(int i=0;i<StrToInt(Edit1->Text);i++)
{
pointer.cat_sprintf("%X",random(16));
}
ADOTable1->Insert() ;
ADOTable1->FieldByName("K1")->AsString=pointer;
ADOTable1->Post() ;
pointer="";
}

}

当我在Edit1和Edit2中输入两数后,按下Button1出现以下错误.

Project Project1.exe raised exception class EVariantTypeCastError with message 'Could not convert variant of type (Null) into type (String)'.Process stopped.Use Step or Run to continue.
回复 点赞
ljianq 2003年10月11日
说说是什么错误?
回复 点赞
qlqqlq1978 2003年10月11日
同样有错,5555555555555
回复 点赞
qlqqlq1978 2003年10月11日
也不行啊,我已经用过了.
回复 点赞
ljianq 2003年10月11日
把这一句:ADOTable1->FieldByName("K1")->AsString=pointer.c_str();
改为:ADOTable1->FieldByName("K1")->AsString=pointer;
回复 点赞
ljianq 2003年10月11日
这一句有问题:pointer.c_str()="";

改为:pointer=“”;
回复 点赞
qlqqlq1978 2003年10月11日
楼上兄弟讲详细一点可以吗?
我没用过数据库,BCB也是个新手呀,谢谢帮忙.
回复 点赞
qlqqlq1978 2003年10月11日
我不知道怎么加入到数据库中啊,老有错,我以前没用过啊.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString pointer;
{
ADOTable1->Open() ;
for(int j=0;j<StrToInt(Edit2->Text);j++)
{
for(int i=0;i<StrToInt(Edit1->Text);i++)
{
pointer.cat_sprintf("%X",random(16));
}
ADOTable1->Insert() ;
ADOTable1->FieldByName("K1")->AsString=pointer.c_str();
ADOTable1->Post() ;
pointer.c_str()="";
}

}

}
我也不知道哪错了
谢谢帮忙看一下
回复 点赞
CCLIS 2003年10月11日
用BLOB字段来进行存取或转换成ASCII字符再存入数据库。
回复 点赞
whitetiger8 2003年10月11日
当然用循环for来做了.具体的还是自己想想吧对你有提高了。
回复 点赞
发动态
发帖子
数据库及相关技术
创建于2007-08-02

707

社区成员

1.8w+

社区内容

C++ Builder 数据库及相关技术
社区公告
暂无公告