获取地图上一个表中所有图元的信息

来源:互联网 发布:qq申诉软件下载 编辑:程序博客网 时间:2024/06/02 03:10

如何获取地图上一个表中所有图元的信息?
答:代码如下:
   MapInfo.Mapping.FeatureLayer fl = (MapInfo.Mapping.FeatureLayer)mapControl1.Map.Layers["worldcap"];
   MapInfo.Data.Table  t = fl.Table;
   //MIDataReader提供了从 MapInfo 数据提供方处读取行的前向数据流的手段
   MIDataReader tr;
   //MIConnection 表示与 Catalog 的连接
   MIConnection con = new MIConnection();
   //MICommand 提供了必要的接口来根据 MapInfo Data Provider 执行 SQL 命令
   //MICommand 创建 MIDataReader 和 MIScrollableReader 实例
   //分别通过 ExecuteReader 和 ExecuteScrollableReader 方法来获取数据
   MICommand tc = con.CreateCommand();
   tc.CommandText = "select * from " + t.Alias ;
   con.Open();
   //ExecuteReader执行对 Connection 的 CommandText,并使用其中一个 CommandBehavior 值生成 MIDataReader
   tr = tc.ExecuteReader() ;
   //MIDataReader.Read 如果有多个行则返回 true,否则返回 false
   int i=0;
   while (tr.Read())
   {
    //获得指定字段的字符串值
    listView1.Items.Add(tr.GetString(1));
   }
   //Cancel 尝试取消当前命令的执行
   tc.Cancel();
   //Dispose 处置 MICommand 对象
   tc.Dispose();
   //tr.Close关闭数据读取器并释放资源,con.Close关闭连接
   tr.Close() ;
   con.Close();

原创粉丝点击