请老大们给看一下了,为什么执行完后,没有出错
但是表中的blob字段没有内容,其它的字段正确
另外发现TemplateStream创建后模式还是bmRead,而不是bmReadWrite表结构
CREATE TABLE `task_info` (
`record_id` INTEGER(32) NOT NULL AUTO_INCREMENT,
`type` INTEGER(32) DEFAULT NULL COMMENT 'type',
`param_len` INTEGER(32) DEFAULT NULL,
`param` BLOB,
PRIMARY KEY (`record_id`)
)ENGINE=InnoDB
AUTO_INCREMENT=19 CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci'
COMMENT='InnoDB free: 4096 kB'; AnsiString strComText = "insert into task_info(type,param_len) values('";
strComText = strComText+"'"+vstTrcTask.ulTrcType+"'"+","; //type
strComText = strComText+"'"+vstTrcTask.ulFilterParamLen+"'"+","; //param_len
strComText = strComText+")";
if(ADOQuery->Active)
{
ADOQuery->SQL->Clear();
ADOQuery->SQL->Add(strComText);
UINT32 ulRowsAffected = ADOQuery->ExecSQL();
strComText="select * from task_info where ne_ip_addr='"+
vstTrcTask.stNeInfo.strIpAddr+"'"+" AND "+ "task_id='"+vstTrcTask.ulTaskId+"'";
ADOQuery->SQL->Clear();
ADOQuery->SQL->Add(strComText);
ADOQuery->Open();
ADOQuery->First();
ADOQuery->Edit(); UINT32 param_len = 12; TBlobStream* TemplateStream=(TBlobStream*)ADOQuery->CreateBlobStream(ADOQuery->FieldByName("param"),bmReadWrite);
unsigned char newParam[12] = {0,0,0,1,0,0,0,1,0,1,0,2};
int i = TemplateStream->Write(newParam, param_len); ADOQuery->Post(); }
但是表中的blob字段没有内容,其它的字段正确
另外发现TemplateStream创建后模式还是bmRead,而不是bmReadWrite表结构
CREATE TABLE `task_info` (
`record_id` INTEGER(32) NOT NULL AUTO_INCREMENT,
`type` INTEGER(32) DEFAULT NULL COMMENT 'type',
`param_len` INTEGER(32) DEFAULT NULL,
`param` BLOB,
PRIMARY KEY (`record_id`)
)ENGINE=InnoDB
AUTO_INCREMENT=19 CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci'
COMMENT='InnoDB free: 4096 kB'; AnsiString strComText = "insert into task_info(type,param_len) values('";
strComText = strComText+"'"+vstTrcTask.ulTrcType+"'"+","; //type
strComText = strComText+"'"+vstTrcTask.ulFilterParamLen+"'"+","; //param_len
strComText = strComText+")";
if(ADOQuery->Active)
{
ADOQuery->SQL->Clear();
ADOQuery->SQL->Add(strComText);
UINT32 ulRowsAffected = ADOQuery->ExecSQL();
strComText="select * from task_info where ne_ip_addr='"+
vstTrcTask.stNeInfo.strIpAddr+"'"+" AND "+ "task_id='"+vstTrcTask.ulTaskId+"'";
ADOQuery->SQL->Clear();
ADOQuery->SQL->Add(strComText);
ADOQuery->Open();
ADOQuery->First();
ADOQuery->Edit(); UINT32 param_len = 12; TBlobStream* TemplateStream=(TBlobStream*)ADOQuery->CreateBlobStream(ADOQuery->FieldByName("param"),bmReadWrite);
unsigned char newParam[12] = {0,0,0,1,0,0,0,1,0,1,0,2};
int i = TemplateStream->Write(newParam, param_len); ADOQuery->Post(); }
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货