PDA

نسخه کامل مشاهده نسخه کامل : اشكال اين كد



manzare
02-08-2008, 11:26
سلام
من در فرمم يك dbgrid دارم كه به يك ado tableمربوطه ميخواستم با كليك كاربر روي هر سطر اين گريد (يك فيلد عددي از اين گريد (در سطر انتخاب شده)به يكado queryفرستاده بشه تا در اين كوئري با استفاده از اين مقدار ورودي
فيلد هايي در يك جدول ديگه update بشه
اين كد را نوشتم اما موقع اجراي اين كد خطا ميدهthe command text dose notreturn a result set


rocedure TForm3.Button1Click(Sender: TObject);
begin
DBGrid1.ReadOnly:=False;
ADOTable1.Open;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:= 'update atable set ta =:ta, tb=:tb ,tc=:tc,td=:td,trutst=:trutst where qcode= :qcode ';
ADOQuery1.Parameters.ParamByName('qcode').Value :=DBGrid1.Fields [0].Value ;
ADOQuery1.Parameters.ParamByName('ta').Value :=Memo2 .Text;
ADOQuery1.Parameters.ParamByName('tb').Value :=Memo3.Text;
ADOQuery1.Parameters.ParamByName('tc').Value :=Memo4.Text;
ADOQuery1.Parameters.ParamByName('td').Value :=Memo5.Text;
ADOQuery1.Parameters.ParamByName('trutst').Value :=Edit6.Text;
ADOQuery1.Open;
ADOConnection1.DataSets[1].Edit;
DataSource1.Edit;



در حالي كه updetمقادير را هم انجام ميده
براي انجام delet در گريد و كوري مربوط به جدول ديگه هم اين كد رانوشتم كه باز هم همان خطا را ميده در حالي كه deleteهم نميكنه
ممنون ميشم راهنماييم كنيد



procedure TForm3.Button2Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:= 'delete from atable where qcode= :qcode ';
ADOQuery1.Parameters.ParamByName('qcode').Value :=DBGrid1.Fields [0].Value ;
ADOQuery1.DataSource.Edit;
ADOQuery1.Open;
ADOQuery1.Edit;
ADOQuery1.ExecSQL;
ADOTable1.Delete;
ADOTable1.Open;
end;

F A R H A D
02-08-2008, 12:38
سلام
1. كد ها رو درون تگ مربوطه قرار بديد
2. به لينك امضاي NoneForce عزيز بيشتر توجه كنيد
3. به جاي فراخواني متد open از كوئري، متد execute رو به كار ببريد
موفق باشيد