delphi4arab منتديات دلفي للعرب

نسخة كاملة : برنامج شخصي للتخزين
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
السلام عليكم
الحقيقة ليس لدي office منصب على الجهاز
على العموم بدل من استخدام
PHP كود :
ADOQuery1.Delete; 
يمكنك استخدام الـ SQL مباشرة
PHP كود :
procedure TForm1.DeleteClient(Sender: TObject);
var 
Qry: TADOQuery;
begin
  Qry 
:= TADOQuery.Create(nil);
  try
    Qry.Connection := ADOConnection1;
    Qry.SQL.Text := 'delete from client where id_client = :id_client';
    Qry.Parameters.ParamByName('id_client').Value := ADOQuery1.Fields[0].AsInteger;
    Qry.ExecSQL;
    ADOQuery1.Refresh;
  finally
    Qry.Free;
  end;
end; 
وعليكم السلام
أخي S.FATEH

تجنبت إستعمال SQL بسبب Record Number (RecNo)
PHP كود :
var
  CurRec, Id: Integer;
begin
  
if not ADOQuery1.Active then
    
Exit;
  CurRec := ADOQuery1.RecNo;
  if CurRec > 0 then
  begin
    Id 
:= ADOQuery1.FieldByName('Id_job').AsInteger;
    ADOQuery1.Close;
    ADOQuery1.SQL.Text := 'delete from Jobs where Id_job = ' + IntToStr(Id);
    ADOQuery1.ExecSQL;
    ADOQuery1.SQL.Text := SQLLineStr;
    ADOQuery1.Open;
    if ADOQuery1.RecordCount = 0 then
      
Exit
    else
    if CurRec > ADOQuery1.RecordCount then
      ADOQuery1
.Last
    
else
      ADOQuery1.RecNo := CurRec;
  end;
end; 
الإجراء التالي يكافيء ADOQuery1.Delete;  Big Grin
السلام عليكم
الـ DataSet دائما تحدد Record و هو Record الحالي لا ارى سبب لاستخدام RecNo
يمكنك استعمال التالي للتأكد ان DataSet تحتوي Record
PHP كود :
  if ADOQuery1.IsEmpty then Exit; 
في حال إستعمال SQL سيعود دائما إلى Record الأول
لذى توجب إستخدام RecNo
السلام عليكم
بما أني ذكرت سابقا أن البرنامج للتخزين الشخصي أستخدمه في عملي فعندما أكون أعمل عند الزبون1
توجد عدة عمليات أقوم بتسجيلها
الدفع
الشراء
العمل
علما أني الآن أقوم بتسجيل كل العمليات في جدول واحد وهو Jobs
فما هي أفضل طريقة أتبعها للعمل
وكيف يكون تصميم القاعدة وربطها مع الجدول Clients
الصفحات : 1 2 3