arkadaşlar kullanmakta olduğumuz programdaki raporların path olarak tutmakta ve buradan kullanmaktayız ancak veri tabanı içerisinde tutulması için araştırma yapıyorum
sebep olarak
dosya yollarının değişmesi
ağ üzerinden kullanım
yedek alınırken bu dosyaların unutulması
yetki problemleri (okuma , yazma vs.)
çok can sıkıcı olmaya başladı..
fr3 uzantılı dosyalarımı veri tabanında tutsam sonra buradan okusam ve kullanıcıya göstersem daha önce böyle bir çalışması olan var mı ?
örneği ek olarak yükledim başka arkadaşlara örnek olabilir.
fast report dosyaları veritabanına
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- mustafasoy
- Üye
- Mesajlar: 154
- Kayıt: 02 Ağu 2013 05:00
- Konum: istanbul
- İletişim:
fast report dosyaları veritabanına
- Dosya ekleri
-
- fast_Report_blob.rar
- örnek dosya ektedir
- (14.56 KiB) 144 kere indirildi
En son mustafasoy tarafından 19 Tem 2014 11:57 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Nasıl ki Soru sorarak öğrendiyseniz , öğrendiklerinizi cevap vererek öğretiniz.
Re: fast report dosyaları veritabanına
Böyle bir çalışmam yok ancak sizin mesajınızı okuyunca baktım. İçeriği bir metin dosyası. Veri tabanında içeriği kolayca saklanıp gerektiğinde yeniden dosya olarak kaydedilebilir.
Ancak saklamak için Resource olarak exe içerisine gömülebilir.
Gerektiğinde çıkartıp işi bitince silinebilir...
Başlangıçta kontrol edilip olmayanlar tekrar çıkartılabilir ve silinmeyebilir. vs.
Ancak saklamak için Resource olarak exe içerisine gömülebilir.
Gerektiğinde çıkartıp işi bitince silinebilir...
Başlangıçta kontrol edilip olmayanlar tekrar çıkartılabilir ve silinmeyebilir. vs.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Mustafa Kemal Atatürk...
Re: fast report dosyaları veritabanına
Merhaba
Örnek için teşekkürler. Bir sorum olacak;
Rapor dizaynı kullanıcı tarafından değiştirildiğinde DB ye tekrar nasıl kaydediyorsun?
Örnek için teşekkürler. Bir sorum olacak;
Rapor dizaynı kullanıcı tarafından değiştirildiğinde DB ye tekrar nasıl kaydediyorsun?
Re: fast report dosyaları veritabanına
Bu konuda daha önce vermiş olduğum örnekler var. Bu kodları uzun yıllardır güvenle kullanıyorum.
KULLANIM:
Kod: Tümünü seç
function TForm1.SaveReportToBlobField(Field1: TBlobField; var Report1: TfrxReport): Boolean;
var
DesignStream: TADOBlobStream;
begin
Result := False;
if not (Field1.DataSet.State in [dsInsert, dsEdit]) then Exit;
DesignStream := TADOBlobStream.Create(Field1, bmWrite);
try
Report1.SaveToStream(DesignStream);
Result := True;
finally
DesignStream.Free;
end;
end;
Kod: Tümünü seç
function TForm1.LoadReportFromBlobField(Field1: TBlobField; var Report1: TfrxReport): Boolean;
var
DesignStream: TADOBlobStream;
begin
Result := False;
if CompareText(Copy(Field1.AsString, 1, 5), '<?xml') <> 0 then Exit;
DesignStream := TADOBlobStream.Create(Field1, bmRead);
try
Report1.LoadFromStream(DesignStream);
Result := True;
finally
DesignStream.Free;
end;
end;
Kod: Tümünü seç
procedure TForm1.ActionTasarlaExecute(Sender: TObject);
var
Q1: TADOQuery;
begin
Q1 := TADOQuery.Create(Self);
try
Q1.Connection := Blabla;
Q1.SQL.Text := 'select * from tbl_raporlar';
Q1.Open;
Q1.Locate('RAPOR_KODU', 1234, []);
LoadReportFromBlobField(Q1.FieldByName('DESIGN') as TBlobField, frxReport1);
frxReport1.DesignReport; // Tasarıma gir
if MessageDlg('Rapor kaydedilsin mi?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
Q1.Edit;
SaveReportToBlobField(Q1.FieldByName('DESIGN') as TBlobField, frxReport1);
Q1.Post;
end;
finally
Q1.Free;
end;
end;
En son csunguray tarafından 04 Ağu 2014 02:30 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Re: fast report dosyaları veritabanına
Tşk Cemil
Dizayn içerisinde SAVE butonuna basıldığında OnSaveReport eventi varmış. Orada DB ye kaydı yaptırıyorum.
İyi Çalışmalar
Dizayn içerisinde SAVE butonuna basıldığında OnSaveReport eventi varmış. Orada DB ye kaydı yaptırıyorum.
İyi Çalışmalar
Re: fast report dosyaları veritabanına
Şuna dikkat etmelisin. Diyelim design tuşuna basıp bir raporu tasarım moduna geçirdin. Sonra File > Open diyerek bir fr3 dosyası yükledin. Bu durumda raporun Changed (yani değiştirilmiş) flag ı false olacağı için kaydet düğmesi disable olacaktır. Çıkarken de kaydedeyim mi diye sormayacaktır. Bilgin olsun...
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)