Stream Kaydetme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Stream Kaydetme

Mesaj gönderen ssteeltr »

Merhaba Arkadaşlar ben Tmsgrid kullanıyorum

Gridin SaveToStream() fonksiyonu ile gridin o anki özelliklerini (sütun satır sayısı genişliği vs.)bir streame kaydediyorum bunuda Firebird veritaabnında bir alana kaydetmek istiyorum ama yapamadım.

Blob alanı denedim
q.params[0].AsBlob:=?mystream

blob alanla stream uyuşmuyor.

ba konuda açil yardımlarınızı bekliyorum

Saygılarımla.
Süleyman Çelik
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Query parametrelerine stream geçemezsin.

Kaydetmek istediğin kayde gelip (veya insert ile yeni kayıt açıp)

Q.FieldByName('StreamAlani').LoadFromStream(MyStream)

Q.Post;

Yapabilir veya BlobStream kullanabilirsin.
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Mesaj gönderen ssteeltr »

coderlord hocam şimdide veritabanından geri yüklerken nasıl yükleyeceğiz
bide stream alan olarak neyi seçmem gerek firebird kullanıyom.

saygılar
Süleyman Çelik
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Mesaj gönderen ssteeltr »

:roll: :roll:

arkadaşlar lütfen yardımediiiiiin
veritabanına eklemeyi başardım ama şimdide veritabanından gride nasıl yükleyecem

grid.loadfromstream(quary.fields[0].????);

şimdi ben databese deki alanı bu gridin loadfromstream komutuna nasıl yüklerim

lütfen yardım edin son noktadayım ama noktayı bitürlü koyamadım

Saygılar.
Süleyman Çelik
Kullanıcı avatarı
undefined
Moderator
Mesajlar: 565
Kayıt: 06 Eki 2003 12:01
Konum: Bursa
İletişim:

Mesaj gönderen undefined »

Kod: Tümünü seç

Q.FieldByName('BlobAlan').SaveToStream(mystrem);
grid.loadfromstream(mystream);
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

ssteeltr yazdı:bide stream alan olarak neyi seçmem gerek firebird kullanıyom.
Firebird'de stream'leri BLOB bir alan yaratıp onun içinde tutabilirsin. Diğer soruna cevabı undefined vermiş zaten.
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Mesaj gönderen ssteeltr »

arkadaşlar çooook teşekkür ederim işime inanılmaz yaradı.
bu forumu oluşturan ve katılan arkadaşların tümünden Allah razı olsun.

Saygılar.
Süleyman Çelik
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Mesaj gönderen ssteeltr »

arkadaşlar kodu denemeden teşekkür ettim çalışacağını sanmıştım amma

Kod: Tümünü seç

Quary1.FieldByName('Alanadı').[b]SaveToStream[/b] diye bir komut yok
ben ibo bileşenleri ve firebird kullanıyom.

Durum Yeniden karıştı önerilerinizi bekliyom.

Saygılar.
Süleyman Çelik
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

BlobStream kullanacaksın o halde. IBO help dosyasında arat. Örneği vardır.
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Mesaj gönderen ssteeltr »

hocam bi küçük örnek yazamasmısınız ibo help inden bişey çıkmadı

yani blob alanı stream değişkene nasıl aktaracam?
Süleyman Çelik
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Mesaj gönderen ssteeltr »

Arkadaşlar cevabı buldum faydalı olur diye örnek kodları yolluyom

read a BlobStream with TADOQuery from an AccessDB?

Kod: Tümünü seç

function GetBlobStream(Query: TADOQuery): TMemoryStream;
begin
  result := TMemoryStream.Create;

  // You must connect to AccessDB first.
  // See: Query.Connection, TADOConection or Query.ConnectString

  // Send SQL command
  Query.Active := False;
  Query.SQL.Clear;
  // data is my row and email the table
  Query.SQL.Append('SELECT data FROM email WHERE id=1');
  Query.Active := True;

  Result.LoadFromStream(Query.CreateBlobStream(Query.FieldByName('Data'), bmRead));
end;


load a jpeg file into a blob field using SQL?

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var 
ms: TMemoryStream;
begin
if OpenPictureDialog1.Execute then
begin
ms := TMemoryStream.Create;
try
ms.LoadFromFile(OpenPictureDialog1.FileName);
with Query1 do
begin
with SQL do 
begin
Clear;
Add('INSERT INTO "ImageTbl.db" (ImageFld)');
Add('VALUES (:param0 )');
end;
Query1.ParamByName('param0').SetBlobData(ms.Memory, ms.Size);
ExecSQL;
end;
finally
ms.Free;
end;
end;
end;
umarım faydalı olur.

Saygılar.[/b]
Süleyman Çelik
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

:bravo: Çok güzel.. :)
Cevapla