Mapwingis开发04(根据图层id获取数据库存储的数据)

这篇博客介绍了一个C# Winform应用,通过连接数据库来读取和展示地图上的数据。首先导入数据库连接类,然后编写SQL查询语句获取最新数据,接着在Winform界面设计中,当用户选择地图上的特定形状时,会显示对应的详细信息,包括ID、位置、状态、日期和内存信息。应用展示了如何结合GIS和数据库操作来实现数据交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.先在项目中导入一个数据库连接类
在这里插入图片描述
2.向数据库内编写数据
在这里插入图片描述
3.winform设计
在这里插入图片描述
4.代码编写

 public partial class Form1 : Form
    {
        Shapefile sf = new Shapefile();
        public Form1()
        {
            InitializeComponent();
            //初始化数据库连接
            SClass_OledbHelper.Init();
            //调用点击
            showattribut();
        }
        public void showattribut()
        {
            axMap1.SendMouseDown = true;
            axMap1.CursorMode = tkCursorMode.cmIdentify;
            axMap1.ShapeIdentified += axmapshapeidentified;
        }
        void axmapshapeidentified(object sender, _DMapEvents_ShapeIdentifiedEvent e)
        {
            object value = sf.get_CellValue(0, e.shapeIndex);//获取每个探头的id
            if (value != null)
            {
            //sql查询语句,根据日期进行排序,查询最近插入的输入
                string sql = "select * from(select t.*,row_number() over(partition by F_ID order by F_DATE desc ) rn from T_DATA t )where rn=1 and F_ID='" + value + "' order by F_ID";
                DataTable dt_dba = SClass_OledbHelper.ExecuteDataTable(SClass_OledbHelper.ConnectStringRQGD, CommandType.Text, sql);

                if (dt_dba.Rows.Count > 0)//查到到的数据
                {
                    string id = dt_dba.Rows[0][0].ToString();//取查到的数据
                    string wd = dt_dba.Rows[0][1].ToString();
                    string sd = dt_dba.Rows[0][2].ToString();
                    string date = dt_dba.Rows[0][3].ToString();
                    string ram = dt_dba.Rows[0][4].ToString();

                    textBox1.Text = id;//进行赋值
                    textBox2.Text = wd;
                    textBox3.Text = sd;
                    textBox4.Text = date;
                    textBox5.Text = ram;
                }

            }
        }

实现:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值