问题:用DELPHI读写ORACLE中的BLOB类型字段(内详),请高手指点!
1.下面的语句在SQL EXPLORER 中执行通过,用SELECT(在ENTER SQL处输入)查看此表也可以,但直接选表,查看DATA,会报错:“General SQL ERROR, ORQ-00936: 缺少表达式”,请问是为什么?
-----------------------------------------
CREATE TABLE TMPTABLE (
GNAME VARCHAR2(10),
AAA BLOB
)
-----------------------------------------
2.现在要向TMPTABLE写入数据,如果要把richedit的内容写入AAA中,如何做,能写上代码最好,谢!我在保留区搜了一些也看了,用流文件,可还是有问题。
----------------------------------------
s1 := 'insert into tmptable (gname,aaa) values ('+''''+ComboBox3.Text+''''+',:edittext)';
query2.SQL.Add(s1);
Query2.ParamByName('aaa').LoadFromStream(bstream,ftOraBlob);
//执行是报什么 LOB定位器错,请高手指点
------------------------------------------------
3.把AAA的内容导到richedit中怎么做,我看了些贴子大多是导出文件,再请指点
-----------------------------------------------------------
*****************
这是我按一个贴子的例子改写的,在激活TABLE1时也报 ORQ-00936: 缺少表达式
var
st :TMemoryStream;
begin
//Table1.TableName := 'tmptable';
//Table1.Active := true;
try
st := TMemoryStream.Create;
st.Clear;
RichEdit1.Lines.SaveToStream(st);
if not (Table1.State in [dsEdit, dsInsert]) then
table1.Append;
TBlobField(Table1.FieldByName('edittext')).LoadFromStream(st);
Table1.Post;
except
st.Free;
end;
st.Free;
end;
-------------------------------------------------------
总之,希望高手给说详细点,分不够可以再加,大家来讨论一下吧,谢