PDA

View Full Version : اشكال اين كد ????



manzare
شنبه 12 مرداد 1387, 11:54 صبح
سلام
من در فرمم يك dbgrid دارم كه به يك ado tableمربوطه ميخواستم با كليك كاربر روي هر سطر اين گريد (يك فيلد عددي از اين گريد (در سطر انتخاب شده)به يكado queryفرستاده بشه تا در اين كوئري با استفاده از اين مقدار ورودي
فيلد هايي در يك جدول ديگه update بشه
اين كد را نوشتم اما موقع اجراي اين كد خطا ميدهthe command text dose notreturn a result set
procedure 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;

end;




در حالي كه 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;

ممنون ميشم راهنماييم كنيد

dkhatibi
شنبه 12 مرداد 1387, 13:39 عصر
خطا چیه ؟

manzare
شنبه 12 مرداد 1387, 18:47 عصر
موقع اجراي اين كد خطا ميدهthe command text dose notreturn a result set

Hamid_PaK
شنبه 12 مرداد 1387, 19:04 عصر
دستورات مربوط به بروزرسانی و حذف را باید با ExecSQL اجرا کنید نه با Open چرا که خروجی برای نمایش ندارند تنها مقادیر مربوط به دستور از همان روال ExecSQL بازگردانده می شوند.

یا حق ...