D
dadabox
Unregistered / Unconfirmed
GUEST, unregistred user!
各位大俠﹕
1.我要存儲圖片在Oracle中。我用long raw類型可以存儲圖片﹐但一個表中只能存儲一個
long raw攔位﹐並且我試著存了bmp文件進去﹐發現小一點的圖片存儲完整(26K)左右﹐而
大一點的(40K以上的)就存儲不完整了﹐只有一部分。請問應該怎么處理。-->60分
2.我要在一個表中存儲多個圖片欄位﹐用long raw不行﹐我用blob類型﹐但將Table或query
的active設為True時﹐就發生invalid files type錯誤﹐請問要怎么解決才好。我的Delphi
是5.0的企業版﹐Oracle是8.1.5.0.0版﹐大俠們能告訴是哪儿出了錯誤嗎﹖-->60分
小弟分已沒了﹐實在抱歉﹐不能多點。
庫結構:
create table orapic(
filename varchar2(100),
pic long raw));
create table orablobpic(
filename varchar2(100),
pic blob));
在SQL PLUS中用select查詢orapic沒問題﹐但查詢orablobpic表就提示
SP2-0678: 資料欄或屬性類型無法經由 SQL*Plus 顯示
insert:
procedure TForm1.Button1Click(Sender: TObject);
var MyStream: TMemoryStream;
begin
try
MyStream:=TMemoryStream.Create;
MyStream.LoadFromFile(FileName);
MyStream.Position:=0;
Database1.StartTransaction;
try
With Query1do
begin
close;
SQL.Clear;
SQL.Add('Insert into orapic valuesfilename,:newimage)');
ParamByName('filename').AsString:=FileName;
ParamByName('newimage').LoadFromStream(FS,ftOraBlob);
ExecSQL;
end;
DataBase1.Commit;
except
On E:EDBEngineErrordo
ShowMessage('有問題﹗');
end;
finally
MyStream.Free;
end;
end;
查看我是用DBImage控件。也可以用Image顯示。
procedure TForm1.Button3Click(Sender: TObject);
var pic1:TMemoryStream;
begin
pic1:=TMemoryStream.Create;
TBlobField(Query1.FieldByName('image')).SaveToStream(Pic1);
Pic1.SaveToFile('d:/aa.bmp');
Image1.Picture.RegisterFileFormat('bmp','bmp',TBitmap);
Image1.Picture.LoadFromFile('d:/aa.bmp');
Pic1.Free;
end;
請各位大俠幫幫忙﹐小弟的老大要得很急呢。若有實例請給小弟看看﹐若覺得這儿太慢﹐可
以發到小弟的郵箱中。zhkfy@21cn.com﹐萬分感謝﹗﹗
1.我要存儲圖片在Oracle中。我用long raw類型可以存儲圖片﹐但一個表中只能存儲一個
long raw攔位﹐並且我試著存了bmp文件進去﹐發現小一點的圖片存儲完整(26K)左右﹐而
大一點的(40K以上的)就存儲不完整了﹐只有一部分。請問應該怎么處理。-->60分
2.我要在一個表中存儲多個圖片欄位﹐用long raw不行﹐我用blob類型﹐但將Table或query
的active設為True時﹐就發生invalid files type錯誤﹐請問要怎么解決才好。我的Delphi
是5.0的企業版﹐Oracle是8.1.5.0.0版﹐大俠們能告訴是哪儿出了錯誤嗎﹖-->60分
小弟分已沒了﹐實在抱歉﹐不能多點。
庫結構:
create table orapic(
filename varchar2(100),
pic long raw));
create table orablobpic(
filename varchar2(100),
pic blob));
在SQL PLUS中用select查詢orapic沒問題﹐但查詢orablobpic表就提示
SP2-0678: 資料欄或屬性類型無法經由 SQL*Plus 顯示
insert:
procedure TForm1.Button1Click(Sender: TObject);
var MyStream: TMemoryStream;
begin
try
MyStream:=TMemoryStream.Create;
MyStream.LoadFromFile(FileName);
MyStream.Position:=0;
Database1.StartTransaction;
try
With Query1do
begin
close;
SQL.Clear;
SQL.Add('Insert into orapic valuesfilename,:newimage)');
ParamByName('filename').AsString:=FileName;
ParamByName('newimage').LoadFromStream(FS,ftOraBlob);
ExecSQL;
end;
DataBase1.Commit;
except
On E:EDBEngineErrordo
ShowMessage('有問題﹗');
end;
finally
MyStream.Free;
end;
end;
查看我是用DBImage控件。也可以用Image顯示。
procedure TForm1.Button3Click(Sender: TObject);
var pic1:TMemoryStream;
begin
pic1:=TMemoryStream.Create;
TBlobField(Query1.FieldByName('image')).SaveToStream(Pic1);
Pic1.SaveToFile('d:/aa.bmp');
Image1.Picture.RegisterFileFormat('bmp','bmp',TBitmap);
Image1.Picture.LoadFromFile('d:/aa.bmp');
Pic1.Free;
end;
請各位大俠幫幫忙﹐小弟的老大要得很急呢。若有實例請給小弟看看﹐若覺得這儿太慢﹐可
以發到小弟的郵箱中。zhkfy@21cn.com﹐萬分感謝﹗﹗