Код |
---|
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)); |
Пытаюсь вернуть набор записей, но не текущего активного запроса, а выполнив OpenSQL, но не пойму что "скормить" в первый параметр, который согласно описания хоть и не является обязательным но Delphi ругается, если его не указать.
ds:=db.OpenSQL(db.SelectAll,'select sys fr om auto');