Arsip: Simpan/load gambar tidak berhasil, tolong koreksi coding sya

 
user image
more 9 years ago

hendrahongdexin

Halo para delphier delphi-id, saya mau minta tolong boleh?? Saya sedang membuat suatu aplikasi Sistem Informasi Akademik dg database MSSQL2000 saat proses simpan gambar saya sedang mengalami masalah yang sangat memusingkan saya... Saya punya beberapa field untuk data dan 1 field untuk gambar dengan type Image. Berikut Potongan Proses SIMPAN saya(saya juga memakai stored procedue untuk proses simpan):

procedure TFInstitusi.sB1Click(Sender: TObject);
var
  Foto : TMemorystream; // deklarasi stream
  //bnp  : TJPEGImage;
begin
      //bnp:=TJPEGImage.Create;
      Foto := TMemorystream.Create; // buat stream
      I.Picture.Graphic.SaveToStream(Foto); // menampilkan gambar ke image1
      //bnp.LoadFromFile(OPD.Files.Strings[0]);
      //bnp.SaveToStream(Foto);
      Foto.Position:= 0;
      // menyimpan data ke tabel
      If EditMode= 1 then
      begin
        AQ.SQL.Clear;
        AQ.SQL.Add('Exec Sp_SaveInstitusi :A, :B, :C, :D, :E, :F, :G, :H, :I, '+
            ':J, :K, :L, :M, :N, :O');
        AQ.Parameters[0].Value:= QuotedStr(sE1.Text);
        AQ.Parameters[1].Value:= QuotedStr(sE2.Text);
        AQ.Parameters[2].Value:= QuotedStr(sE3.Text);
        AQ.Parameters[3].Value:= QuotedStr(sE4.Text);
        AQ.Parameters[4].Value:= QuotedStr(sE5.Text);
        AQ.Parameters[5].Value:= QuotedStr(sE6.Text);
        AQ.Parameters[6].Value:= QuotedStr(sE7.Text);
        AQ.Parameters[7].Value:= QuotedStr(sE8.Text);
        AQ.Parameters[8].Value:= QuotedStr(sE9.Text);
        AQ.Parameters[9].Value:= QuotedStr(sE10.Text);
        AQ.Parameters[10].Value:= QuotedStr(sE11.Text);
        AQ.Parameters[11].Value:= QuotedStr(sE12.Text);
        AQ.Parameters[12].Value:= QuotedStr(sE13.Text);
        AQ.Parameters[13].Value:= QuotedStr(sE14.Text);
        AQ.Parameters[14].LoadFromStream(Foto, ftBlob);
        AQ.ExecSQL;
        MessageDlg(sE1.Text+ ' berhasil ditambah.', mtInformation, [mbOK], 0);
      end;
      EditMode:= 0; SetMode; AT.Requery();
Kemudian berikut Potongan Proses Load gambar dan Data Sekalian:

procedure TFInstitusi.Isi;
var
  i,j: Integer;
  // deklarasikan stream
  Stream      : TADOBlobStream;
  // deklarasikan temporary gambar
  GambarJpeg  : TJpegImage;
  GambarBmp   : TBitmap;
  // deklarasikan buffer
  Buffer      : Word;
begin
  j:=0;
  For i:= 0 to ComponentCount - 1 do
  begin
    If Components[i] Is TsuiEdit then
    begin
      (Components[i] As TsuiEdit).Text:= AT.Fields[j].AsString;
      j:= j + 1;
    end;
    If Components[i] Is TImage then
    begin
      // buat object temporary gambar
      GambarJpeg  := TJpegImage.Create;
      GambarBmp   := TBitmap.Create;
      // pemasukan data ke stream
      If not AT.Fields[j].AsVariant= '' then
      begin
        Stream  := TADOBlobStream.Create((AT.Fields[j] AS TBlobField) , bmRead);
        // identifikasi buffer yang merepresentasikan sebagai class gambar
        Stream.Read(Buffer,SizeOf(Buffer));
        Stream.Position := 0;
        // jika gambar merupakan class JPEG
        If Buffer = $D8FF then
        begin
          GambarJpeg.LoadFromStream(Stream);
          (Components[i] As TImage).Picture.Graphic := GambarJpeg;
        end
        // jika gambar merupakan class bmp
        else If Buffer = $4D42 then
        begin
          GambarBmp.LoadFromStream(Stream);
          (Components[i] As TImage).Picture.Graphic := GambarBmp;
        end;
      end;
      j:= j + 1;
    end;
  end;
end;
Ket: AT= TAdoTable I= TImage AQ= TAdoQuery Mohon bantuan untuk pemecahan coding d'atas.. saat simpan saya coba cek d'Query Analyzer pada colomn gambar bernilai NULL Terima kasih...[/code]
user image
more 9 years ago

hendrahongdexin

:cry: Gak ada yg bisa bantu yah???
user image
more 9 years ago

madi

gunakan BLOB field untuk menyimpan
user image
more 9 years ago

madi

http://pascal-id.org/dpr/Forum-printview-t-6-start-0.pas
user image
more 8 years ago

hendrahongdexin

Thank's yah bang Madi atas referensiny... Sangat membantu sekali.... Akhirnya berhasil saya lakukan dengan sedikit modifikasi sesuai kebutuhan saya... Thank's sekali lg... :D
more ...
  • Pages:
  • 1
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com