Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
unidac image insert sorunu
#1
Arkadaşlar aşağıdaki kod ile androidden resim çekip MSSQL ekleyebiliyorum, unidac bileşenini kullanıyorum.
sql tablosu " DOSYA, DOSYA_ADI, ACIKLAMA" diye gidiyor sadece dosyayı eklersem bir sıkıntı yok fakat dosya adı veya açıklama alanı girmek istediğimde "the code page 0 is not supported by the server unidac" böyle bir hata veriyor.
 
procedure SaveJpegToStream(Bitmap: TBitmap; Stream: TStream);
var
  Surf: TBitmapSurface;
  Params: TBitmapCodecSaveParams;
begin
  Params.Quality := 95;
  Surf := TBitmapSurface.Create;
  try
    Surf.Assign(Bitmap);
    if not TBitmapCodecManager.SaveToStream(Stream, Surf, '.jpg', @Params) then
      raise EBitmapSavingFailed.Create(SBitmapSavingFailed);
  finally
    Surf.Free;
  end;
end;

procedure TEVRAKKAYITPENCERE.Button3Click(Sender: TObject);
var
     buf, Stream: TMemoryStream;
     jpeg: TBitmap;
 begin 
          EVRAKLAR_DB.Append; 
          begin
            if not  EVRAKLAR_DB.Active then Exit();

            Stream := TMemoryStream.Create();
            try
              SaveJpegToStream(EVRAKRESIM.Bitmap, Stream);
              TBlobField(EVRAKLAR_DB.FieldByName('DOSYA')).LoadFromStream(Stream);
            finally
              Stream.Free();
            end;
          end;
          EVRAKLAR_DB.Post;
end;
 
 aşağıdaki şekilde işlem yapınca kayıt yapıyor burada ise resim ekleyemiyorum özetle yukarıdaki kod ile aşağıdaki kodu nasıl birleştirebilirim ?
      EVRAKLAR_DB.Close;
      EVRAKLAR_DB.SQL.Clear;
      EVRAKLAR_DB.SQL.Add(' INSERT INTO EVRAKLAR'
                           +' (KAYIT_KIMLIK,'
                           +' EVRAK_TIPI,'
                           +' TURU,'
                           +' ACIKLAMA,'
                           +' SERI_NO,'
                           +' GECERLILIK_TARIHI,'
                           +' EKLEYEN,'
                           +' CALISILAN_FIRMA,'
                           +' ISLEM_TARIHI,'
                           +' DOSYA_ADI )');
      EVRAKLAR_DB.SQL.Add(' VALUES ('
                   +#39+Edit1.Text+#39+ ','
                   +#39+ComEVRAKTURU.Selected.Text+#39+ ','
                   +#39+'Personel Evrak'+#39+ ','
                   +#39+EditACIKLAMA.Text+#39+ ','
                   +#39+EditSERINO.Text+#39+ ','
                   +#39+  FormatDateTime('yyyy-mm-dd', DateGECERLILIKTARIHI.Date) +#39+ ','
                   +#39+'ERDOĞAN'+#39+ ','
                   +#39+Edit1.Text+#39+ ','
                   +#39+FormatDateTime('yyyy-mm-dd', Date) +#39+ ','
                   +#39+'Kamera Çekimi'+#39+')') ;
          EVRAKLAR_DB.Execute;

teşekkürler
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#2
işine yarayan arkadaş olabilir,

aşağıdaki şekilde çalışıyor.

procedure SaveJpegToStream(Bitmap: TBitmap; Stream: TStream);
var
Surf: TBitmapSurface;
Params: TBitmapCodecSaveParams;
begin
Params.Quality := 95;
Surf := TBitmapSurface.Create;
try
  Surf.Assign(Bitmap);
  if not TBitmapCodecManager.SaveToStream(Stream, Surf, '.jpg', @Params) then
    raise EBitmapSavingFailed.Create(SBitmapSavingFailed);
finally
  Surf.Free;
end;
end;



procedure TEVRAKKAYITPENCERE.Button1Click(Sender: TObject);
var
 Stream: TMemoryStream;
begin

  EVRAKLAR_DB.Close;
  EVRAKLAR_DB.SQL.Clear;
  EVRAKLAR_DB.SQL.Add('SELECT * from EVRAKLAR  WHERE 1=2');
   //KULLANICIPENCERE.QRY_KULLANICI_DB.Post;.SQL.Add(' SELECT * from PERSONEL_BILGILERI WHERE TC_NO='+QuotedStr(TC_NO_TEXT.Text));
  EVRAKLAR_DB.Open;



  EVRAKLAR_DB.Close();
  EVRAKLAR_DB.SQL.Clear();
  EVRAKLAR_DB.SQL.Add('insert into EVRAKLAR (KAYIT_KIMLIK, EVRAK_TIPI, TURU, ACIKLAMA, SERI_NO, GECERLILIK_TARIHI, EKLEYEN, CALISILAN_FIRMA, ISLEM_TARIHI, DOSYA_ADI, DOSYA)');
  EVRAKLAR_DB.SQL.Add('VALUES (:KAYIT_KIMLIK, :EVRAK_TIPI, :TURU, :ACIKLAMA, :SERI_NO, :GECERLILIK_TARIHI, :EKLEYEN, :CALISILAN_FIRMA, : ISLEM_TARIHI, : DOSYA_ADI, : DOSYA)');


  EVRAKLAR_DB.ParamByName('KAYIT_KIMLIK').AsString        := KULLANICIPENCERE.QRY_KULLANICI_DBPERSONEL_KIMLIK.Text;
  EVRAKLAR_DB.ParamByName('EVRAK_TIPI').AsString          := ComEVRAKTURU.Selected.Text;
  EVRAKLAR_DB.ParamByName('TURU').AsString                := 'Personel Evrak';
  EVRAKLAR_DB.ParamByName('ACIKLAMA').AsString            := EditACIKLAMA.Text;
  EVRAKLAR_DB.ParamByName('SERI_NO').AsString             := EditSERINO.Text;
  EVRAKLAR_DB.ParamByName('GECERLILIK_TARIHI').AsDateTime := DateOf(DateGECERLILIKTARIHI.Date);
  EVRAKLAR_DB.ParamByName('EKLEYEN').AsString             := KULLANICIPENCERE.QRY_KULLANICI_DBADI.Text+' '+KULLANICIPENCERE.QRY_KULLANICI_DBADI.Text;
  EVRAKLAR_DB.ParamByName('CALISILAN_FIRMA').AsString     := KULLANICIPENCERE.QRY_KULLANICI_DBCALISILAN_FIRMA_KIMLIK.Text;
  EVRAKLAR_DB.ParamByName('ISLEM_TARIHI').AsDateTime      := Today();
  EVRAKLAR_DB.ParamByName('DOSYA_ADI').AsString           := 'Kamera Çekimi';

  Stream := TMemoryStream.Create();
  try
   SaveJpegToStream(EVRAKRESIM.Bitmap, Stream);
    EVRAKLAR_DB.ParamByName('DOSYA').LoadFromStream(stream, ftBlob);
  //   TBlobField(EVRAKLAR_DB.FieldByName('DOSYA')).LoadFromStream(Stream);
  finally
    Stream.Free();
  end;

  EVRAKLAR_DB.ExecSQL();
end;
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Image Index numarasını alma ahmetb 3 85 Dün, Saat: 11:36
Son Yorum: ahmetb
  ComboBox1.text sorunu arsl01 7 135 19-09-2018, Saat: 19:47
Son Yorum: engerex
Question uygulama donma sorunu - webbrowser BY-HAYALET 8 642 07-09-2018, Saat: 13:26
Son Yorum: nehirnnn
  Listbox insert YasinDalli 10 401 07-09-2018, Saat: 12:01
Son Yorum: YasinDalli
  Buton image sorunu (style) ahmetb 4 127 31-08-2018, Saat: 14:40
Son Yorum: mrmarman



Konuyu Okuyanlar: 1 Ziyaretçi