数据绑定问题(0分)

  • 主题发起人 jiordano
  • 开始时间
J

jiordano

Unregistered / Unconfirmed
GUEST, unregistred user!
代码编译报错:unable to match goefield or bindlayer automatically
程序如下:
procedure TForm1.Button2Click(Sender: TObject);
var
par:variant;
ds:cmapxdataset;
bindlayerobject:bindlayer;

begin

par:=createoleobject('mapx.odbcqueryinfo.4');
par.SqlQuery := 'select test.longitude,test.latitude from test;';
par.DataSource := 'test';
par.ConnectString := 'Provider=MSDASQL.1User ID=jiordano;Data Source=test;DSN=test;DBQ=C:/DOCUMENTS AND SETTINGS/IAMCY/桌面/POJECT/test;DriverId=25;FIL=MS Access;Initial Catalog=C:/DOCUMENTS AND SETTINGS/IAMCY/桌面/POJECT/test';

BindLayerObject:= CoBindLayer.Create;
BindLayerObject.LayerName := 'mytab';
BindLayerObject.FileSpec := 'e:/incoming/project/map/map/mytab.tab';
BindLayerObject.refcolumn1:='longitude';
//excel中的坐标
BindLayerObject.RefColumn2 :='latitude';
//
BindLayerObject.LayerType := miBindLayerTypeXY;
ds:=Map1.Datasets.Add(miDatasetODBC, par, 'mytab', 'longitude', 'latitude', BindLayerObject, EmptyParam,false);

请问错在何处?
 
var
ds: CMapXDataset;
parm: Variant;
i: Integer;
name: String;
begin

if map1.geoset<>'' then

begin

try
parm := CreateOleObject('MapX.ODBCQueryInfo.4');
parm.SqlQuery := 'select * from [red]usa[/red]';
parm.DataSource := 'Mapdata';
{ ODBC数据源,控件面板自定义好的,指向ACCESS
数据库,里面包含表文件usa }
parm.ConnectString := '';
ds := Map1.Datasets.Add(miDataSetODBC, parm, 'odbc Dataset',
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);

for i := 1 to ds.Fields.Countdo

begin

name := ds.Fields.Item(i).Name;
Application.MessageBox(PChar(name), 'Info', 0);
end;

showmessage('记录数是'+inttostr(ds.RowCount));
ds.Themes.Add(miThemeGradSymbol, ds.Fields.Item(3).Name, EmptyParam, EmptyParam);
except on E:Exceptiondo
ShowMessage(E.message);
end;

end;

end;

上面程序运行很正常,可是为什么把其中的数据表usa改为自己定义的表文件theme就报错呢?theme表也在同一个数据库里面。
 
顶部