当前位置:软件学习 > 其它软件 >>

mapxtreme2008 +c#+sql2005 读取日期型字段的问题(内存读写异常)

从sql2005取数据时,有一个日期型字段,mapxtreme获取数据时,直接报错(内存读取错误)
换成字符型就没有问题,代码如下


            string sql = @"select TaxCollector_ID,Collect_Time,longitude,Latitude from TaxCollector_Locus_GIS  where longitude<>0 ";
            string tableAlias = "TaxCollector_Locus_GIS";
            string colName = "Collect_Time";

 //建立XY空间方案
            MapInfo.Data.SpatialSchemaXY xy = new MapInfo.Data.SpatialSchemaXY();
            xy.XColumn = "longitude";
            xy.YColumn = "Latitude";
            xy.NullPoint = "0.0, 0.0";
            xy.StyleType = MapInfo.Data.StyleType.None;
            xy.DefaultStyle = new MapInfo.Styles.CompositeStyle();
            xy.CoordSys = MapInfo.Engine.Session.Current.CoordSysFactory.CreateLongLat(MapInfo.Geometry.DatumID.WGS84);

            
        
            //建立TableInfo
            MapInfo.Data.TableInfoServer ti = new MapInfo.Data.TableInfoServer(tableAlias, DB,sql, MapInfo.Data.ServerToolkit.Odbc);
            ti.SpatialSchema = xy;
            MapInfo.Data.Table miCustomers = MapInfo.Engine.Session.Current.Catalog.OpenTable(ti);
            MapInfo.Mapping.FeatureLayer featureLayer = new MapInfo.Mapping.FeatureLayer(miCustomers);
            m_MapControl.Map.Layers.Add(featureLayer);
            m_MapControl.Map.SetView(featureLayer); --------------------编程问答-------------------- 你贴的代码是已经改成字符型的了 贴原来出错的代码啊
sql你是怎么执行的啊? 从上面看不出来啊 --------------------编程问答-------------------- 代码是一样的,只表结构不一样
CREATE TABLE [dbo].[TaxCollector_Locus_GIS](
[TaxCollector_ID] [varchar](32) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Collect_Time] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Longitude] [float] NULL,
[Latitude] [float] NULL,
 CONSTRAINT [PK_TaxCollector_Locus_GIS] PRIMARY KEY CLUSTERED 
(
[TaxCollector_ID] ASC,
[Collect_Time] ASC
)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

Collect_Time用字符型可以,换成datetime就出错 --------------------编程问答-------------------- 连接字符串加上DLG=0 --------------------编程问答-------------------- 没法验证啊  如果不行 你就用String类型吧  无非就是自己转一下类型 
网上找了找也没有找到相关的内容 可能是MapXTreme支持的DateTime跟数据库的不太一样造成的 又没有证据。 --------------------编程问答-------------------- 好久没用了,看不太懂了。。。帮你顶顶吧。。 --------------------编程问答-------------------- 把读出的数据怎样显示到界面的代码分享一下么?
补充:企业软件 ,  地理信息系统
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,