请老大们给看一下了,为什么执行完后,没有出错
但是表中的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();             }