[CODE]procedure TTest.Timer1Timer(Sender: TObject);
var
Document: IDocument;
Map: IMapDoc;
Layer: ILayer;
Coord1, Coord2 : crs;
Pt: IZPoint;
db: IZbDatabase;
Result: IZSqlResult;
BaseName, S, V: string;
ds: IZbDataset;
dd: IZbQueries;
i: integer;
Index,sysid :integer;
speed, name : string;
IndexVar : OleVariant;
DBCoordX, DBCoordY : double;
Result1 :wordbool;
begin
Document := FConnector.Zulu.ActiveDocument;
Map := IMapDoc(Document.NativeDoc);
Index := Map.Layers.GetIndexByName('zulu://srv5:6473/***/Auto/auto.zl');
IndexVar := Index;
Map.Layers.Activate(IndexVar);
Layer := Map.Layers.Active;
Coord1 := Layer.GetCRS;
Coord2 := CoCRS.Create;
Coord2.InitByCode('EPSG:4326');
BaseName := Layer.BaseName;
db := CoZbDatabase.Create;
//db.Open(BaseName);
ADOQuery1.Close;
ADOQuery1.Sql.Clear;
ADOQuery1.Sql.Add('SEL ECT * FR OM poisk ORDER BY ID DESC LIMIT 15');
ADOQuery1.Active := true;
ADOQuery1.First;
DBCoordX := ADOQuery1.Fields[3].Value;
DBCoordY := ADOQuery1.Fields[4].Value;
speed:=ADOQuery1.Fields[5].Value;
name:=ADOQuery1.Fields[2].Value;
ShowMessage(name);
sysid:=0;
//Result := Layer.ExecSQL('sel ect sys fr om auto wh ere name='+name,'');
//ds:=db.OpenSQL(BaseName,'sel ect sys fr om auto wh ere name='+name);
ds:=db.OpenSQL(db.SelectAll,'select sys fr om auto');
ShowMessage('1');
ShowMessage('Строк '+ inttostr(ds.FieldCount));
[/CODE]
Пытаюсь вернуть набор записей, но не текущего активного запроса, а выполнив OpenSQL, но не пойму что "скормить" в первый параметр, который согласно описания хоть и не является обязательным но Delphi ругается, если его не указать.
ds:=db.OpenSQL(db.SelectAll,'select sys fr om auto');
var
Document: IDocument;
Map: IMapDoc;
Layer: ILayer;
Coord1, Coord2 : crs;
Pt: IZPoint;
db: IZbDatabase;
Result: IZSqlResult;
BaseName, S, V: string;
ds: IZbDataset;
dd: IZbQueries;
i: integer;
Index,sysid :integer;
speed, name : string;
IndexVar : OleVariant;
DBCoordX, DBCoordY : double;
Result1 :wordbool;
begin
Document := FConnector.Zulu.ActiveDocument;
Map := IMapDoc(Document.NativeDoc);
Index := Map.Layers.GetIndexByName('zulu://srv5:6473/***/Auto/auto.zl');
IndexVar := Index;
Map.Layers.Activate(IndexVar);
Layer := Map.Layers.Active;
Coord1 := Layer.GetCRS;
Coord2 := CoCRS.Create;
Coord2.InitByCode('EPSG:4326');
BaseName := Layer.BaseName;
db := CoZbDatabase.Create;
//db.Open(BaseName);
ADOQuery1.Close;
ADOQuery1.Sql.Clear;
ADOQuery1.Sql.Add('SEL ECT * FR OM poisk ORDER BY ID DESC LIMIT 15');
ADOQuery1.Active := true;
ADOQuery1.First;
DBCoordX := ADOQuery1.Fields[3].Value;
DBCoordY := ADOQuery1.Fields[4].Value;
speed:=ADOQuery1.Fields[5].Value;
name:=ADOQuery1.Fields[2].Value;
ShowMessage(name);
sysid:=0;
//Result := Layer.ExecSQL('sel ect sys fr om auto wh ere name='+name,'');
//ds:=db.OpenSQL(BaseName,'sel ect sys fr om auto wh ere name='+name);
ds:=db.OpenSQL(db.SelectAll,'select sys fr om auto');
ShowMessage('1');
ShowMessage('Строк '+ inttostr(ds.FieldCount));
[/CODE]
Пытаюсь вернуть набор записей, но не текущего активного запроса, а выполнив OpenSQL, но не пойму что "скормить" в первый параметр, который согласно описания хоть и не является обязательным но Delphi ругается, если его не указать.
ds:=db.OpenSQL(db.SelectAll,'select sys fr om auto');