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
  Listview insert Dostk 2 74 13-07-2018, Saat: 15:50
Son Yorum: ssahinoglu
Question [ ÇÖZÜLDÜ ] SQLİTE bağlantı sorunu BY-HAYALET 9 244 10-07-2018, Saat: 12:41
Son Yorum: BY-HAYALET
  Android APİ sorunu - Google Play BY-HAYALET 18 575 09-07-2018, Saat: 09:47
Son Yorum: quiet1day
  S9 Plus Donma Sorunu narkotik 13 299 16-06-2018, Saat: 19:00
Son Yorum: engerex
  image processing pro_imaj 3 200 06-06-2018, Saat: 22:47
Son Yorum: pro_imaj



Konuyu Okuyanlar: 1 Ziyaretçi