這個問題已經有幾個月了可我就是沒辦法解決。
就是我的jpg圖片用了多種“流”方法把圖片放入MSSQL數據庫的image類型字段當中
但是當我把圖片取出時用如果圖片大開20K就會在圖片底部出現一些“茫區”使圖片的底部
根本看不到,圖片越大“茫區”也越大,所以我懷疑是不是流也要設置他的“缓冲”
或什麼的啊!!!
我用的是BDE,流用的是 stringstream1:Tstringstream;
源代嗎:
Jpeg1 := TJPEGIMAGE.Create;
stringstream1 := TStringStream.create('');
Jpeg1.LoadFromFile(opendialog1.FileName);
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('insert into ct values("'+edit1.Text+'",:ctt2)');
query1.ParamByName('ctt2').AsBlob:=stringstream1.datastring;
image1.Picture.Bitmap.Assign(jpeg1);
query1.ExecSQL;
jpeg1.Free;
請各位幫在下想想辦法吧。
就是我的jpg圖片用了多種“流”方法把圖片放入MSSQL數據庫的image類型字段當中
但是當我把圖片取出時用如果圖片大開20K就會在圖片底部出現一些“茫區”使圖片的底部
根本看不到,圖片越大“茫區”也越大,所以我懷疑是不是流也要設置他的“缓冲”
或什麼的啊!!!
我用的是BDE,流用的是 stringstream1:Tstringstream;
源代嗎:
Jpeg1 := TJPEGIMAGE.Create;
stringstream1 := TStringStream.create('');
Jpeg1.LoadFromFile(opendialog1.FileName);
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('insert into ct values("'+edit1.Text+'",:ctt2)');
query1.ParamByName('ctt2').AsBlob:=stringstream1.datastring;
image1.Picture.Bitmap.Assign(jpeg1);
query1.ExecSQL;
jpeg1.Free;
請各位幫在下想想辦法吧。
1、从你提供的程序中没有找到stringstream1获取jpeg图片内容的部分;
2、你想把图片内容作为字符串放到字段中,所以
query1.SQL.Add('insert into ct values("'+edit1.Text+'",:ctt2)');
应改为
query1.SQL.Add('insert into ct values('''+edit1.Text+''',:ctt2)');
还有
query1.ParamByName('ctt2').AsBlob:=stringstream1.datastring;
可以尝试改为
query1.ParamByName('ctt2').AsString:=stringstream1.datastring;