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

怎样在c#中调用MapX控件?修改*.tab文件的表结构,给tab文件增加新列并保存到数据库??

请教怎么在.NET中动态读取*.tab文件(通过MapX),修改tab文件的表结构.
1,给tab文件增加一个列?
2,删除一个列?
3,修改列名?
4,修改列的类型?
5,怎样删除tab文件里的记录  像:
delete from table_test where id=333

6.怎样更新tab文件的记录    像:
 update table_test set id=333 where name='张三'


本人第一次接触到MapX,也不懂MapInfo,希望熟悉MapX二次开发的朋友指点!
由于任务时间较紧,所以希望热心的朋友能给出一些代码,
我是修改人家的代码,在之前已经有人实现了数据的绑定,
因此:在程序中已经存在不为null的全局变量,里面绑定了一个tab文件.

        public MapXLib.Layer mxLayer;

先谢谢进来看帖的朋友~~~ --------------------编程问答--------------------

            MapXLib.Dataset mxDataSet = objLayer.DataSets._Item(objLayer.DataSets.Count);
            MapXLib.Fields mxFields = mxDataSet.Fields;
              mxFields.AddFloatField(txt_AddField.Text.Trim(), mxFields.Count + 1);//在这里添加了一个字段,但怎么保存到tab文件中?
            //-----------是不是要用"MapXLib.Feature"  这个怎么用?
--------------------编程问答-------------------- --------------------编程问答-------------------- 这儿有一个建临表的例子,给你参考~~~~
MapInfo.Data.TableInfoMemTable tblInfoTemp = new MapInfo.Data.TableInfoMemTable("Animation");
        MapInfo.Data.Table tblTemp = MapInfo.Engine.Session.Current.Catalog.GetTable("Animation");
        if (tblTemp != null)
        {
            MapInfo.Engine.Session.Current.Catalog.CloseTable("Animation");
        }
        tblInfoTemp.Columns.Add(MapInfo.Data.ColumnFactory.CreateFeatureGeometryColumn(myMap.GetDisplayCoordSys()));
        tblInfoTemp.Columns.Add(MapInfo.Data.ColumnFactory.CreateStyleColumn());
        tblInfoTemp.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn("显示", 64));     
        tblInfoTemp.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn("编号", 8));
        tblInfoTemp.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn("设备编号", 8));
        tblTemp = MapInfo.Engine.Session.Current.Catalog.CreateTable(tblInfoTemp);
        FeatureLayer lyr = new FeatureLayer(tblTemp);
        myMap.Layers.Add(lyr);
补充:企业软件 ,  地理信息系统
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,