mapx 控件怎样和SQLSERVER数据库连接? 现做一系统需要用MAPX来开发,可是我从没用过不知如何下手,与数据库怎么连接?望高手赐教!有无例子给我一个,在下多谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在MapX中,属性数据与几何数据的关联是通过数据绑定实现的。 (1)、 什么叫数据绑定 数据绑定是将外部数据引入MapX的过程。 可以绑定的数据源包括以下类型: 类型 描述 ADO 使用ADO(Active data objects) DAO DAO对象,可以是VB中的data control、Access表格等,也可自己创建 Delphi 使用Borland BDE数据源 Global Handle lets you pass in a block of tab-delimited data Layer 创建一个Dataset,使用MapInfo表字段 Notes View/NotesQuery 专门用于Lotus Notes ODBC 可以使用ODBC从任何ODBC数据源中获取数据 OLE Data 用于containers,如PowerBuilder RDO MS Remote Data Objects和RDO结果集对象 safeArra COM数据集,与safearray中的数据进行静态绑定 Unbound 兼容其它 (2)、 数据绑定的强大作用 数据绑定主要有两个作用。 Ø 以地图中的图形对象来显示数据 通过数据绑定,可以将BindLayer对象作为一个参数,使用Datasets.Add方法将自己的表转变为一个DataSet。这将在地图中创建一个新的图层,并且将表中的数据以点等图形对象表示。一旦将数据引入地图,就可以很容易地使用MapX创建应用程序,并实现多种地图功能。 Ø 将属性数据绑定到地图中,并创建专题图 如果地图对象中包含相应的属性信息,也可以使用Datasets.Add方法将某个属性字段添加到地图中,进而就可以按照需要创建相关的专题图。 (3)、 数据绑定的实现方法 使用Datasets.Add可以将用户数据绑定到地图中。 在MapX中,每张地图对应多个图层(Layers),每一个图层(Layer)都有一个Datasets,其中包含DataSet对象。Datasets拥有一些属性和方法,用来在集合中添加和删除Dataset 对象,主要方法包括Add和Remove。 使用Datasets.Add绑定的最终结果是Dataset对象的创建。这个Dataset对象被加入到Datasets集合中,包含了被绑定图层的对象的计算结果。比如说,如果数据被绑定到US_States地图,每一个州将对应一个新的数据值,这个数据值被用来控制地图的绘制。如果数据源中含有某个州的多个记录,则这些记录的值可以进行累加、平均值等计算。使用Dataset的Value方法可以取得地图中每一个对象的计算结果。 DataSets.Add方法详解 Datasets.Add方法的使用主要需确定所绑定数据源的类型、绑定到地图的哪一层以及与地图之间关联的字段。语法如下: Datasets.Add Type, SourceData, [Name], [Geofield], [SecondaryGeofield], [BindLayer], [Fields], [Dynamic] []中的参数是可选的,程序中可以省略或传递EmptyParam。EmptyParam在Delphi中已定义的OleVariant类型参数,表示未用参数。 Ø Type Type的取值范围为DatasetType常量,对应于可绑定的数据类型, DatasetType的定义如下: DatasetType=[miDatasetADO,miDatasetDelphi,……,miDatasetLayer,miDatasetODBC,miDatasetUnbound] 其中miDatasetLayer表示绑定的是MapInfo表(.TAB),miDatasetODBC表示绑定的是ODBC 数据源中的表。 Ø SourceData 根据DatasetType的不同,SourceData有不同的取值,如miDatasetLayer对应MapInfo表,miDatasetODBC对应ODBCQueryInfo对象等等。因此,在引如ODBC数据时,需要首先创建ODBCQueryInfo对象,并为其参数ConnectString、Datasource和SqlQuery赋值。 Ø Name String类型,唯一标识Dataset,默认名称为Dataset1、Dataset2……。 Ø Geofield 指定数据源中包含地理信息的字段名称或索引。如果不指定,则MapX会自动在GeoDictionary中搜索,看哪个字段包含地理信息。比如在“世行项目”中,表T_DJQH的xzqybh字段其实就是用来标识地图中地级行政区划的,因此在调用Datasets.Add时Geofield参数即传递xzqybh。 如果要将数据表示为地图上的图形对象,数据源中GeoField所表示的字段必须唯一,并且被用来命名新的图层中的对象。非唯一值将在新的图层中以一点代替,重复记录对应的数据值将被求和。 如果定义了Fields,则Geofield参数将表示Fields中的字段,而不是sourcedata。 可以看到,Geofield在几何数据与属性数据关联中起了绝对关键的作用。 Ø Secondary Geofield 只有当被绑定的数据集有非唯一主键时才定义该参数。 Ø BindLayer 指明外部数据应该绑定到地图中的哪一层。.该参数可选,未指定时MapX自动在GeoDictionary中查找相匹配的图层。但是从性能考虑,在肯定的情况下应当明确指定。 Ø Fields 描述外接数据源中的哪些字段被引用,以及当数据源中有多条记录对应一个地图对象时使用哪些集合函数,默认的集合函数是SUM(求和)。 如果该参数有定义,则Geofield和SecondaryGeofield参数均将其作为参照。 Ø Dynamic 布耳类型参数,用于控制数据绑定是否动态,默认为False,表示静态绑定,即当数据库被打开时MapX将拷贝所需数据;如果设定为True,MapX会以实时的方式访问数据。 ODBC,ADO...都可以看帮助吧,里面什么都有。帮助可能是VB语言的,但是应该可以看懂 谢谢hongqi162(失踪的月亮) !mapinfo表(*.tab)好象是GIS电子图,但是怎么样才能得到我自己所需要的.TAB呢?在DELPHI中MAP控件只认*.GST图,我找了好久也找不到自己所需要的表,假如某一地市图,我应该怎么办呢?假如我用SQL SERVER数据库,某一张表上的数据怎样和图进行关联呢?在设计表时有什么注意的地方吗?急!急!急!一菜鸟在等待各位大侠帮忙! java版本blowfish算法转delphi 如何得到一个ADO Recordset所含的表. 代码没错,怎么调试起来怎么会? 如何制作类似QQ那样的界面? try 的问题,各位帮忙! 紧急求救!!!!!!!!!! 关于DBGride的问题: 怎样在我程序中执行另外的Exe文件 终于看到星了,高兴散分(-) 很菜的问题---制作安装程序 说出几种大数据的处理方法。 大家帮忙看看下面的代码有什么问题,为什么每次关闭窗口都会报错?在线等,来者有分.. 如何打开word文档?老问题,我这用csdn搜索打不开文件?谢了
(1)、 什么叫数据绑定
数据绑定是将外部数据引入MapX的过程。
可以绑定的数据源包括以下类型: 类型 描述
ADO 使用ADO(Active data objects)
DAO DAO对象,可以是VB中的data control、Access表格等,也可自己创建
Delphi 使用Borland BDE数据源
Global Handle lets you pass in a block of tab-delimited data
Layer 创建一个Dataset,使用MapInfo表字段
Notes View/NotesQuery 专门用于Lotus Notes
ODBC 可以使用ODBC从任何ODBC数据源中获取数据
OLE Data 用于containers,如PowerBuilder
RDO MS Remote Data Objects和RDO结果集对象
safeArra COM数据集,与safearray中的数据进行静态绑定
Unbound 兼容其它 (2)、 数据绑定的强大作用
数据绑定主要有两个作用。
Ø 以地图中的图形对象来显示数据
通过数据绑定,可以将BindLayer对象作为一个参数,使用Datasets.Add方法将自己的表转变为一个DataSet。这将在地图中创建一个新的图层,并且将表中的数据以点等图形对象表示。一旦将数据引入地图,就可以很容易地使用MapX创建应用程序,并实现多种地图功能。
Ø 将属性数据绑定到地图中,并创建专题图
如果地图对象中包含相应的属性信息,也可以使用Datasets.Add方法将某个属性字段添加到地图中,进而就可以按照需要创建相关的专题图。
(3)、 数据绑定的实现方法
使用Datasets.Add可以将用户数据绑定到地图中。
在MapX中,每张地图对应多个图层(Layers),每一个图层(Layer)都有一个Datasets,其中包含DataSet对象。Datasets拥有一些属性和方法,用来在集合中添加和删除Dataset 对象,主要方法包括Add和Remove。
使用Datasets.Add绑定的最终结果是Dataset对象的创建。这个Dataset对象被加入到Datasets集合中,包含了被绑定图层的对象的计算结果。比如说,如果数据被绑定到US_States地图,每一个州将对应一个新的数据值,这个数据值被用来控制地图的绘制。如果数据源中含有某个州的多个记录,则这些记录的值可以进行累加、平均值等计算。使用Dataset的Value方法可以取得地图中每一个对象的计算结果。
DataSets.Add方法详解
Datasets.Add方法的使用主要需确定所绑定数据源的类型、绑定到地图的哪一层以及与地图之间关联的字段。语法如下:
Datasets.Add Type, SourceData, [Name], [Geofield], [SecondaryGeofield], [BindLayer], [Fields], [Dynamic]
[]中的参数是可选的,程序中可以省略或传递EmptyParam。EmptyParam在Delphi中已定义的OleVariant类型参数,表示未用参数。
Ø Type
Type的取值范围为DatasetType常量,对应于可绑定的数据类型, DatasetType的定义如下:
DatasetType=[miDatasetADO,miDatasetDelphi,……,miDatasetLayer,miDatasetODBC,miDatasetUnbound]
其中miDatasetLayer表示绑定的是MapInfo表(.TAB),miDatasetODBC表示绑定的是ODBC 数据源中的表。
Ø SourceData
根据DatasetType的不同,SourceData有不同的取值,如miDatasetLayer对应MapInfo表,miDatasetODBC对应ODBCQueryInfo对象等等。因此,在引如ODBC数据时,需要首先创建ODBCQueryInfo对象,并为其参数ConnectString、Datasource和SqlQuery赋值。
Ø Name
String类型,唯一标识Dataset,默认名称为Dataset1、Dataset2……。
Ø Geofield
指定数据源中包含地理信息的字段名称或索引。如果不指定,则MapX会自动在GeoDictionary中搜索,看哪个字段包含地理信息。比如在“世行项目”中,表T_DJQH的xzqybh字段其实就是用来标识地图中地级行政区划的,因此在调用Datasets.Add时Geofield参数即传递xzqybh。
如果要将数据表示为地图上的图形对象,数据源中GeoField所表示的字段必须唯一,并且被用来命名新的图层中的对象。非唯一值将在新的图层中以一点代替,重复记录对应的数据值将被求和。
如果定义了Fields,则Geofield参数将表示Fields中的字段,而不是sourcedata。
可以看到,Geofield在几何数据与属性数据关联中起了绝对关键的作用。
Ø Secondary Geofield
只有当被绑定的数据集有非唯一主键时才定义该参数。
Ø BindLayer
指明外部数据应该绑定到地图中的哪一层。.该参数可选,未指定时MapX自动在GeoDictionary中查找相匹配的图层。但是从性能考虑,在肯定的情况下应当明确指定。
Ø Fields
描述外接数据源中的哪些字段被引用,以及当数据源中有多条记录对应一个地图对象时使用哪些集合函数,默认的集合函数是SUM(求和)。
如果该参数有定义,则Geofield和SecondaryGeofield参数均将其作为参照。
Ø Dynamic
布耳类型参数,用于控制数据绑定是否动态,默认为False,表示静态绑定,即当数据库被打开时MapX将拷贝所需数据;如果设定为True,MapX会以实时的方式访问数据。
mapinfo表(*.tab)好象是GIS电子图,但是怎么样才能得到我自己所需要的.TAB呢?
在DELPHI中MAP控件只认*.GST图,我找了好久也找不到自己所需要的表,假如某一地市图,
我应该怎么办呢?
假如我用SQL SERVER数据库,某一张表上的数据怎样和图进行关联呢?在设计表时有什么注意的地方吗?
急!急!急!
一菜鸟在等待各位大侠帮忙!