在delphi中用TSQLQuery控件向oracle数据库中插数据,其中有一个blob字段,可以为空,写了SQL语句如下:
SQLQuery1.SQL.Text := 'INSERT INTO TestTable (ID,PIC)VALUES(:id, :pic)';
SQLQuery1.parambyname('id').value := '001';
SQLQuery1.parambyname('pic').value := 'EMPTY_BLOB()';
SQLQuery1.ExecSQL(False);
执行时出现:'SQL Server Error: ORA-01465:invalid hex number'的错误是怎么回事?
如果写成下面这样又可以,又可以正常执行
SQLQuery1.SQL.Text := 'INSERT INTO TestTable (ID,PIC)VALUES(:id, EMPTY_BLOB())';
SQLQuery1.parambyname('id').value := '001';
SQLQuery1.ExecSQL(False);
有没有什么方法可以在动态语句中执行插空的BLOB字段?
SQLQuery1.SQL.Text := 'INSERT INTO TestTable (ID,PIC)VALUES(:id, :pic)';
SQLQuery1.parambyname('id').value := '001';
SQLQuery1.parambyname('pic').value := 'EMPTY_BLOB()';
SQLQuery1.ExecSQL(False);
执行时出现:'SQL Server Error: ORA-01465:invalid hex number'的错误是怎么回事?
如果写成下面这样又可以,又可以正常执行
SQLQuery1.SQL.Text := 'INSERT INTO TestTable (ID,PIC)VALUES(:id, EMPTY_BLOB())';
SQLQuery1.parambyname('id').value := '001';
SQLQuery1.ExecSQL(False);
有没有什么方法可以在动态语句中执行插空的BLOB字段?
解决方案 »
- 使用remobject做三层数据库,客户端无法找到dataProvider?
- 读取二进制文件时,如何将指针指到符合条件的位置
- 巨难问题:从excel中导出图片到数据库!(如果解决了,将另开新贴给500分!)
- 初学者,请大家指点
- 怎样动态创建ACCESS数据库和EXCEL文件?
- madis的问题!一定加分的!急啊
- 为什么D6下不能进行OAD注册,注册时报找不到jre的class?
- delphi 如何用正则表达式删除 <a href=
- 谁有操作农历的控件?
- 要在WIN2000中做一个自动起动的后台监视程序有什么要点?做成EXE OR DLL 哪种好?
- delphi 做了一个管理系统,想在登陆的时候,提示会员生日,要怎么做
- Delphi 2010下强制类型转换的错误
SQLQuery1.parambyname('pic').value := 'EMPTY_BLOB()';这样写delphi会做些处理
并不是拼sql 所以是用问题的
比如--表示注释
但是你如果写
qry.sql.text := 'selcet * from tablename -- 查询 ' 这样也会报错的
第二种方法:'INSERT INTO TestTable (ID,PIC)VALUES('001', EMPTY_BLOB());显然第二种方法是可以执行的,第一种方法在SQL里'EMPTY_BLOB()'只能作为字符串处理了。
弄明白了,最后找到了方法,方法原来很简单:
SQLQuery1.parambyname('pic').value := '';
这样就可以了。