BCB写入mysql blob字段没有结果

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

}
...全文
61 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
yonyon 2008-09-04
  • 打赏
  • 举报
回复
怎么没有人回答啊?

56,687

社区成员

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

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