在一个PageControl的TabSheet1里有一个DBGrid,ADOQuery,DataSource,在TabSheet2上有一些Edit,ComboBox等,界面的最上面有一些按钮,其中有“修改”。然后在DBGrid里选一条记录然后点“修改” 在TabSheet2里的edit,combobox里的数据,以及TabSheet2里的“保存”按钮都不能动了。我的代码如下:
procedure TfrmCars.btnEditClick(Sender: TObject);
begin
//
DBGridEh1CellModify(DBGridEh1.FieldColumns['CarName']);
end;procedure TfrmCars.DBGridEh1CellModify(Column: TColumnEh);
var
tempStr:string;
begin
//指向到TabSheet2
PageControl1.ActivePageIndex := 1;
//取得tempStr值
tempStr:=dbgrideh1.DataSource.DataSet.fieldbyname('CarName').AsString;
// showMessage(tempStr); 有值.
qyTemp.Close;
qyTemp.SQL.Clear ;
qyTemp.SQL.Add('select * from Cars where CarName="'+tempStr+'"');
qyTemp.Open; //判断有记录? CarName.Text := qyTemp.FieldValues['CarName'];end;
procedure TfrmCars.btnEditClick(Sender: TObject);
begin
//
DBGridEh1CellModify(DBGridEh1.FieldColumns['CarName']);
end;procedure TfrmCars.DBGridEh1CellModify(Column: TColumnEh);
var
tempStr:string;
begin
//指向到TabSheet2
PageControl1.ActivePageIndex := 1;
//取得tempStr值
tempStr:=dbgrideh1.DataSource.DataSet.fieldbyname('CarName').AsString;
// showMessage(tempStr); 有值.
qyTemp.Close;
qyTemp.SQL.Clear ;
qyTemp.SQL.Add('select * from Cars where CarName="'+tempStr+'"');
qyTemp.Open; //判断有记录? CarName.Text := qyTemp.FieldValues['CarName'];end;
是不是死循环?或是数表锁死。