Dostum hakkını helal et, uğraştırdım seni!
Yalnız ben ne adoconnection, ne adoquery, ne adotable nede clientdataset'te CachedUpdate özelliğini bulamadım.
Ne kaçırıyorum acaba
Fatura Hareketlerinde Fatura ID'si
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Fatura Hareketlerinde Fatura ID'si
İşimi kısmen memorydataset ile çözdüm teoride çalışıyor.
ancak bir kaydı güncellemek için güncelle butonuna bastığım fatura hareketlerini memorydataset'e aktarmak 1-2 satır dahi olsa yaklaşık 7 saniye sürüyor. Memorydataset içindeki kayıtlar arasında dolaşmakta oldukça yavaş, bu işin profesyonel yapılabilirliği bunu gerçekten. Yada ben mi birşeyleri yanlış yapıyorum.
ancak bir kaydı güncellemek için güncelle butonuna bastığım fatura hareketlerini memorydataset'e aktarmak 1-2 satır dahi olsa yaklaşık 7 saniye sürüyor. Memorydataset içindeki kayıtlar arasında dolaşmakta oldukça yavaş, bu işin profesyonel yapılabilirliği bunu gerçekten. Yada ben mi birşeyleri yanlış yapıyorum.
Re: Fatura Hareketlerinde Fatura ID'si
//IBQuery1.First;
//ClientDataSet1.Open;
//While Not IBQuery1.Eof do
//begin
//ClientDataSet1.Append;
//ClientDataSet1S_SAY.AsString:=IBQuery1ID.AsString;
//ClientDataSet1S_ID.AsString:=IBQuery1ID.AsString;
//ClientDataSet1CH_KART_ID.AsString:=IBQuery1CH_KART_ID.AsString;
//ClientDataSet1IRS_KART_ID.AsString:=IBQuery1IRS_KART_ID.AsString;
//ClientDataSet1MDL_ID.AsString:=IBQuery1MDL_ID.AsString;
//ClientDataSet1SP_KART_ID.AsString:=IBQuery1SP_KART_ID.AsString;
//ClientDataSet1PARTI.AsString:=IBQuery1PARTI.AsString;
//ClientDataSet1XXXS.AsFloat:=IBQuery1XXXS.AsFloat;
//ClientDataSet1XXS.AsFloat:=IBQuery1XXS.AsFloat;
//ClientDataSet1XS.AsFloat:=IBQuery1XS.AsFloat;
//ClientDataSet1S.AsFloat:=IBQuery1S.AsFloat;
//ClientDataSet1M.AsFloat:=IBQuery1M.AsFloat;
//ClientDataSet1L.AsFloat:=IBQuery1L.AsFloat;
//ClientDataSet1XL.AsFloat:=IBQuery1XL.AsFloat;
//ClientDataSet1XXL.AsFloat:=IBQuery1XXL.AsFloat;
//ClientDataSet1XXXL.AsFloat:=IBQuery1XXXL.AsFloat;
//ClientDataSet1XXXXL.AsFloat:=IBQuery1XXXXL.AsFloat;
//ClientDataSet1XXXXXL.AsFloat:=IBQuery1XXXXXL.AsFloat;
//ClientDataSet1ACIKLAMA.AsString:=IBQuery1ACIKLAMA.AsString;
//ClientDataSet1.Post;
//IBQuery1.Next;
//end;
kodlar bunlardı ama vazgeçtim projeyi firebird yaptım cachedupdates ile yazıyorum.
İlgin emeklerin ve yardımların için çok sağol.
//ClientDataSet1.Open;
//While Not IBQuery1.Eof do
//begin
//ClientDataSet1.Append;
//ClientDataSet1S_SAY.AsString:=IBQuery1ID.AsString;
//ClientDataSet1S_ID.AsString:=IBQuery1ID.AsString;
//ClientDataSet1CH_KART_ID.AsString:=IBQuery1CH_KART_ID.AsString;
//ClientDataSet1IRS_KART_ID.AsString:=IBQuery1IRS_KART_ID.AsString;
//ClientDataSet1MDL_ID.AsString:=IBQuery1MDL_ID.AsString;
//ClientDataSet1SP_KART_ID.AsString:=IBQuery1SP_KART_ID.AsString;
//ClientDataSet1PARTI.AsString:=IBQuery1PARTI.AsString;
//ClientDataSet1XXXS.AsFloat:=IBQuery1XXXS.AsFloat;
//ClientDataSet1XXS.AsFloat:=IBQuery1XXS.AsFloat;
//ClientDataSet1XS.AsFloat:=IBQuery1XS.AsFloat;
//ClientDataSet1S.AsFloat:=IBQuery1S.AsFloat;
//ClientDataSet1M.AsFloat:=IBQuery1M.AsFloat;
//ClientDataSet1L.AsFloat:=IBQuery1L.AsFloat;
//ClientDataSet1XL.AsFloat:=IBQuery1XL.AsFloat;
//ClientDataSet1XXL.AsFloat:=IBQuery1XXL.AsFloat;
//ClientDataSet1XXXL.AsFloat:=IBQuery1XXXL.AsFloat;
//ClientDataSet1XXXXL.AsFloat:=IBQuery1XXXXL.AsFloat;
//ClientDataSet1XXXXXL.AsFloat:=IBQuery1XXXXXL.AsFloat;
//ClientDataSet1ACIKLAMA.AsString:=IBQuery1ACIKLAMA.AsString;
//ClientDataSet1.Post;
//IBQuery1.Next;
//end;
kodlar bunlardı ama vazgeçtim projeyi firebird yaptım cachedupdates ile yazıyorum.
İlgin emeklerin ve yardımların için çok sağol.
Re: Fatura Hareketlerinde Fatura ID'si
Kod: Tümünü seç
function GenerateKey: String; // 36 karekter dönecek
var
MyGUID: TGUID;
MyWideChar: array[0..100] of WideChar;
begin
{First, generate the GUID:}
CoCreateGUID(MyGUID);
{Now convert it to a wide-character string:}
StringFromGUID2(MyGUID, MyWideChar, 39);//uzunluğu 39 karakter yap
{Now convert it to a Delphi string:}
Result := WideCharToString(MyWideChar);
{Get rid of the three dashes that StringFromGUID2() puts in the result
string:}
while Pos( '-', Result ) > 0 do
Delete( Result, Pos( '-', Result ), 1 );
{Get rid of the left and right brackets in the string:}
while Pos( '{', Result ) > 0 do
Delete( Result, Pos( '{', Result ), 1 );
while Pos( '}', Result ) > 0 do
Delete( Result, Pos( '}', Result ), 1 );
end;
moveid VARCHAR 38
ve Fatura hareket tabloya
fMoveid VARCHAR 38
alanını ekle
örnek: Fatura FormShow da
Edit1.txt := 'CF'+'GenerateKey; // Buradaki CF çıkış faturası gibi yada ne istersen ön ek 2 karakter kullanabilirsin
Artık kaydederken her iki tabloyu da aynı moveid ile kaydedip birbirine bağlamış olursun.