這個問題已經有幾個月了可我就是沒辦法解決。
就是我的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.   

    我觉得有两个问题
    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;
      

  2.   

    Taken(铁拳)老兄。。你的query1.SQL.Add('insert into ct values('''+edit1.Text+''',:ctt2)'); 和我的那一句有什麼區別啊。引號我實在看不出來啊。