ClientDataSet1.First; while ClientDataSet1.Eof do begin ShowMessage(ClientDataSet1.FieldByName('aaa').AsString); ShowMessage(ClientDataSet1.FieldByName('bbb').AsString); ClientDataSet1.Next; end; _______________________________ 运行到 ClientDataSet1.Data := tmpDataSetProvider.Data; 时ClientDataSet1.Data始终为nil程序会退出(不报任何异常)。
to zhouzhouzhou(人生程序) 程序报告异常 Cannot Assign a TQuery to a TQuery。
Query2.DataSet:=Query1.DataSet;
遍历Query2
我在
Query1某个Field的OnValidate中如下代码
____________________________________________
tmpDataSetProvider := TDataSetProvider.Create(Application);
tmpDataSetProvider.DataSet := Query1;
ClientDataSet1.Data := tmpDataSetProvider.Data;
tmpDataSetProvider.Free;
ClientDataSet1.First;
while ClientDataSet1.Eof do
begin
ShowMessage(ClientDataSet1.FieldByName('aaa').AsString);
ShowMessage(ClientDataSet1.FieldByName('bbb').AsString);
ClientDataSet1.Next;
end;
_______________________________
运行到
ClientDataSet1.Data := tmpDataSetProvider.Data;
时ClientDataSet1.Data始终为nil程序会退出(不报任何异常)。
程序报告异常
Cannot Assign a TQuery to a TQuery。
Query1中已经Post了一些数据,
当Query1要插入又一条数据时,需要对输入的数据做合法性校验,确保新输入的数据不与此前Post过的数据有交集。
我希望有方法能把Query1中的数据集复制到另一个类似于Query的DataSet中,然后我遍历这个DataSet副本,去检验数据合法性。
遍历副本DataSet的时候,不希望引起Query数据或游标的变动,因为我要在OnValidate中做这个校验。