Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Exe aracılığı ile kaydı dışarı SQL olarak çıkarmak
#1
İyi çalışmalar

Bir konuda yardımlarınızı isteyeceğim. Mysql veritabanı kullanıyorum. Programım aracılığı ile, kayıt oluşturarak, kaydın içine resim dosyasını blob alana kaydediyorum. Programımda kayıtlı olan veriler arasından istediğim bir kaydı, ad, soyad resim vb. kapsayacak şekilde dışarı aktarıp, daha sonra diğer bilgisayarımdan da, dışarıya aktardığım kaydı yine programım aracılığı ile içeri alıp insert etmek istiyorum. Aktardığımda aynı şekilde blob alanda bulunan resim de gelmeli. Bunu nasıl yapabileceğim konusunda bir türlü fikir edinemedim. Bilgisayarlar farklı lokasyonlarda ve aralarında bağlantı olmayacağı için, dışarı aktardığım dosyayı mail ya da usb ile taşımak zorundayım. Yardımlarını rica ederim.

İyi çalışmalar dilerim.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#2
Merhaba, 

Ben dosya ile veri taşıma konusunda adodataset ile alttaki gibi kullanımım olmuştu.
datasetinde taşıyacağın kayıtlar kalacak şekilde filitreleyip böyle bir fonksiyonla taşıyabilirsin.
Blob taşımadım hiç ancak datasetin tümünü taşıdığı için blobda xml olarak işlenecektir.
Güvenlik için dosyayı şifrelemek de iyi bir seçenek olabilir.
internette "delphi RecordsetToXML" aratarak farklı metodlarda bulabilirsin.
burada da böyle bir paylaşım yapılmıştı vaktiseherde.
https://www.delphican.com/showthread.php?tid=819

function RecordsetToXML(const Recordset: _Recordset): string;
var
 RS: Variant;
 Stream: TStringStream;
begin
 Result := '';
 if Recordset = nil then Exit;
 Stream := TStringStream.Create('');
 try
   RS := CreateOleObject('ADODB.Recordset');
   RS := Recordset;
   RS.Save(TStreamAdapter.Create(stream) as IUnknown, adPersistXML);
   Stream.Position := 0;
   Result := Stream.DataString;
 finally
   Stream.Free;
 end;
end;

{
 Example:
 ...
   ADOQuery1.Recordset:=RecordsetFromXML(Memo1.Lines.Text);
 ...
}

function RecordsetFromXML(const XML: string): _Recordset;
var
 RS: Variant;
 Stream: TStringStream;
begin
 Result := nil;
 if XML = '' then Exit;
 try
   Stream := TStringStream.Create(XML);
   Stream.Position := 0;
   RS := CreateOleObject('ADODB.Recordset');
   RS.Open(TStreamAdapter.Create(Stream) as IUnknown);
   Result := IUnknown(RS) as _Recordset;
 finally
   Stream.Free;
 end;
end;
Kalan ömrünün en genç build’indesin.
Counter artar, deadline sabit.
Age++ çalışıyor, rollback yok.
Her yer exception
Cevapla
#3
Teşekkürler Hocam, blob datayı muhakkak dışarı alabilmeliyim
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Information Uygulama yönetici olarak mı çalışıyor? (runtime tespit etme) bakyuz 0 395 28-04-2025, Saat: 17:22
Son Yorum: bakyuz
  Projeye dosya olarak eklenmiş dosyanın içeriğini okumak yhackup 9 1.753 18-04-2025, Saat: 21:39
Son Yorum: bakyuz
  DBGrid1 Alanlarını Gizle Göster Olarak Kullanmak. OZCANK 4 1.075 05-04-2025, Saat: 22:02
Son Yorum: metemet
  Cxgrid Konumunu Dinamik olarak Değiştirmek endmuh 4 1.900 09-12-2023, Saat: 17:49
Son Yorum: endmuh
  dxRichEditControl Resim Kaydı m_ekici 0 598 31-10-2023, Saat: 01:42
Son Yorum: m_ekici



Konuyu Okuyanlar: 1 Ziyaretçi