VS2008中开发智能设备程序的一些总结

VS2008网络连接并调试WinCE程序 VS2008网络连接并调试WinCE程序.(网络连接WinCE模拟器) 立即下载

结合前几日开发的《全国大坝基础数据库采集端》中的PDA程序开发过程,对VS2008开发智能设备上的程序做个小总结。

1         程序结构

程序中包括四个部分:

1.  系统配置

这个部分用来配置系统中的相关参数,参数包括数据库信息和串口的配置信息。这部分的主要技术是XML文件的读取和写入。

2.  数据下载

从数据库中下载数据到PDA,PDA上的保存也是使用数据库。这部分的技术主要是PDA设备上的移动数据库开发和使及用PDA连接PC数据库

3.  数据上传

把PDA上的数据上传到PC数据库中,使用的技术和2相同。

4.  GPS数据获取

通过外置蓝牙GPS模块获取当时所在位置的经纬度,并将经纬度保存在PDA上的移动数据库中。涉及到的技术有串口数据的读取,GPS数据的解析。

2         开发环境

软件环境: Visual studio 2008

PC数据库: sql server

智能设备: Windows Mobile 6

3         建立工程

3.1      建立项目

建立工程的过程和VS建立其他工程步骤相同,通过vs2008中的菜单“文件-新建-项目 ”,建立一个新项目。

VS2008已经集成了智能设备的开发环境,根据开发语言的不同,在不同的开发语言树中选择“智能设备”,下方的名称中填写项目名称,点击“确定”按钮,就建立了一个智能设备的程序项目。

3.2      建立调试环境

VS2008中已经包括了智能设备的仿真程序,编写的程序可以通过PC机上的仿真程序进行调试,不必在PDA上逐个调试程序。

建立项目后,通过菜单“项目--项目属性”中的“设备”页中设置调试内容。

在下拉框中,选择目标设备的类型。类型的选择要根据PDA的操作系统进行确定,PDA上如果是中文操作系统,请选择“CHS”打头的选项。具体如何选择,请根据PDA的操作系统进行。如果对选项中的内容不了解,请查阅其他资料。

    仿真程序的选择和设置不仅仅只有这一种方式,也可以通过VS2008中的“工具-设备仿真器管理器”进行设置。

3.3      绘制窗体

智能设备的窗体和windows窗口的差别不是很大。在工程中选择添加窗体后,VS中出现PDA屏幕模样的模板。需要什么功能,在工具箱中把对应的控件拖到模板上即可。这部分的开发和普通的Windows程序开发没有什么不同。

不同的部分就是菜单。智能设备的菜单中有缺省菜单,就是在屏幕底部有个菜单控件,可以通过增加菜单项的方式增加菜单。需要注意的是,一级菜单只能有两个,而且设置的时候,只能先设置左边的菜单项内容,才能设置右边菜单项内容。

控件的使用也是有严格限制的。VS2008中能使用的控件分布在工具箱的“所有设备控件V 2 ” 、“公共设备控件 v 2 ” 、“设备容器 v 2 ” 、“设备菜单和工具栏V 2 ” 、“设备数据V 2 ” 、“设备组件V 2 ” 、“设备对话框V 2 ” 。使用控件的方式和Windows窗体的设计没有什么不同。

4         调试

调试程序的方式同普通的程序调试差别不大,也通过单步调试等等的功能。唯一的差别就在于调试中程序在仿真器中运行。

4.1      其他文件

在调试中,程序如果只有一个EXE文件,而不涉及到其他文件,可以直接在仿真程序中运行。但是如果程序还有其他文件的话,需要把文件也要部署到PDA仿真器上。如何部署其他文件,请参考下面步骤:

1.  通过仿真器上的菜单“文件――配置…”菜单设置共享文件夹。

通过后面的按钮,浏览电脑中的磁盘,并选择恰当的目录。“共享文件夹”在设置完成后,将作为PDA仿真器的扩展存储空间,仿真器中共享文件夹被命名为“Storage Card”。那么在仿真器中就可以直接操作共享文件夹中的文件。

这时候,就可以把其他和程序相关的文件拷贝到需要的地方。下面以一个XML文件为例。这个XML和程序的可执行程序在一个目录下,用来保存程序的设置参数。XML文件在电脑上,程序中通过读取可执行程序所在的目录来指定XML文件的目录。但是很不幸,仿真器在运行过程中,认为EXE可执行程序在“program files//项目名称”这个目录下,这个目录是仿真器中的路径,肯定是不会找到XML文件的。这就需要把XML文件也放置到“program files//项目名称”目录下面去。

在仿真器中点击“开始-资源管理器”,打开后选择“Storage Card”。在这个里面通过目录-文件的方式选中文件,然后点击下面的“菜单-编辑-复制”,将文件复制出来。

然后通过仿真器界面上的文件-目录功能,找到“我的设备-program files-项目名称”,进入以项目名称为名称的目录,通过“文件-编辑-粘帖”,把文件拷贝到可执行程序所在的运行目录下。

5         移动数据库

在这个项目中,使用的是微软的SQL SERVER Mobile Compact Editor 3.5。其他的数据库还没有使用过。仅仅就SQL SERVER Mobile Compact Editor 3.5的使用方法说明。

5.1      获得SQL SERVER Mobile Compact Editor 3.5

SQL SERVER Mobile Compact Editor 3.5可以直接从微软的网站上下载,网址为:http://www.microsoft.com/downloads/details.aspx?familyid=7849B34F-67AB-481F-A5A5-4990597B0297&displaylang=zh-cn

下载后在电脑上进行安装。默认安装到C:/Program Files/Microsoft SQL Server Compact Edition下。

3.5版本为最新版,增加了设置数据库文件密码的功能。也可以使用其他版本的SQL SERVER MOBILE替代。

5.2      在SQL SERVER MANAGER STUDIO中使用SQL SERVER MOBILE

在登录部分,服务器类型选择“SQL SERVER MOBILE”,数据库文件通过下拉框中的“浏览更多…”选择建立的数据库文件,也可以通过选择窗体中的“新建数据库”建立新的数据库。

 

输入数据库密码,即可登录到SQL SERVER MOBILE数据库中。需要说明的是,3.5版本建立的数据库,在SQL SERVER MANAGE STUDIO 2005中可能无法登录。

5.3      Sql server mobile数据库中建立数据表

Sql server mobile中建表可以通过sql server manage studio 2005中的建表向导进行建表,也可以通过sql语句进行建表。建表的时候需要注意字段类型和sql server中的字段类型并不相同,在sql server中能使用的字段类型,在sql server mobile中可能无法使用,在建表的过程中需要注意这点。

5.4      在智能设备上部署sql server Mobile数据库

把建好的数据库文件通过4.1中描述的方式,拷贝到相应的仿真器目录下。这时候仿真器就可以连接并操作SQL SERVER MOBILE数据库了。

但是如果使用PDA访问SQL SERVER MOBILE,注意Windows Mobile中不包含数据库引擎,需要额外的安装四个包。如果不安装这四个包,程序将无法连接和读取SQL SERVER MOBILE数据库。

这四个包在sql server mobile安装目录下,具体的是C:/Program Files/Microsoft SQL Server Compact Edition/v3.5/Devices/wce500/armv4i目录下面,包括:

sqlce.dev.CHS.ppc.wce5.armv4i.CAB

sqlce.ppc.wce5.armv4i.CAB

sqlce.repl.ppc.wce5.armv4i.CAB

sqlce.wce5.armv4i.CAB

将这四个文件拷贝到仿真器上,并安装。

安装后,PDA的程序中增加了三个程序: sqlservercompact 3.5 Repl

SqlserverCompact 3.5 Tools CN

SqlserverCompact 3.5 Core

当不用移动数据库时,可以卸载这三个程序。

6         智能设备连接操作PC数据库

智能设备操作PC数据库,有两种方式:

一种是通过无线连接,一种是通过USB连接到电脑上。无线连接在普通环境下使用普遍性不足,很多情况下是通过USB数据线进行连接的。使用USB数据线连接,PC电脑上需要安装同步工具,目前使用较多的为微软的ActiveSync,下载地址是;

http://www.microsoft.com/downloads/details.aspx?FamilyID=cabdb564-ae94-4c02-abbc-cdece61231d4&DisplayLang=zh-cn

智能设备和PC同步后,就可以把智能设备看作一台电脑,可以连接数据库。

7         数据库连接字符串

7.1   Sql server mobile

在工程中增加引用,引用System.data.sqlserverCe

类中使用命名空间:System.data.sqlserverCe

数据库链接类名、命令类名及记录集类名中都使用包含Ce的类。

 

具体代码如下:

using System;

 

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlServerCe;

using System.Data.SqlClient;

 

namespace GPSDataReader

{

    public partial class frmDamUp : Form

    {

        SqlCeConnection ConnMobile;

        SqlCeCommand command;

 

        public frmDamUp()

        {

            InitializeComponent();

        }

 

        private void frmDamUp_Load(object sender, EventArgs e)

        {

         //获取可执行程序所在目录和数据库文件

            string sFilePath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "//DamBase.sdf";

         //连接sql server Mobile数据库的连接字符串

            string ConnStr = "Data Source=" + sFilePath + ";Persist Security Info=False;password=admin;";

         //建立链接

            ConnMobile = new SqlCeConnection(ConnStr);

            try

            {

                ConnMobile.Open();

            }

            catch (Exception ex)

            {

                MessageBox.Show("不能正确连接移动数据库!" + ex.Message);

                this.Close();

            }

            command = new SqlCeCommand();

            command.Connection = ConnMobile;

 

            string sqlstr = "select * from DamInfo where IsUP='1'";

            command.CommandText = sqlstr ;

            SqlCeDataReader rs = command.ExecuteReader();

            while (rs.Read())

            {

                ListViewItem lv_Item = new ListViewItem();

                lv_Item.Text = rs["RSID"].ToString();

                lv_Item.SubItems.Add(rs["RSNM"].ToString());

                lv_Item.SubItems.Add(rs["DMPRV"].ToString());

                lv_Item.SubItems.Add(rs["DMCT"].ToString());

                lv_Item.SubItems.Add(rs["DMTW"].ToString());

                lv_Item.SubItems.Add(rs["EL"].ToString());

                lv_Item.SubItems.Add(rs["NL"].ToString());

                lv_Item.SubItems.Add("未上传");

 

                lv_DamInfo.Items.Add(lv_Item);

            }

            rs.Close();

 

            if (lv_DamInfo.Items.Count == 0)

            {

                MessageBox.Show("没有需要上传的数据!");

                this.Close();

            }

        }

7.2      智能设备连接PC上的SQL SERVER

智能设备不支持OLEDB连接方式,只能使用SQLSERVER  .Net的连接方式。所以增加System.data.SqlClient引用。在需要连接的类中增加System.data.SqlClient命名空间。

代码如下:

using System;

 

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlServerCe;

using System.Data.SqlClient;

 

private void b_Down_Click(object sender, EventArgs e)

{

     string sqlstr;

 

     string Connstr = "user id=sa;password=2centit13;initial catalog=DamBase;Server=" + ConfigInfo.IP + ";Connect Timeout=30";

            SqlConnection Conn = new SqlConnection(Connstr);

            try

            {

                Conn.Open();

            }

            catch (Exception ex)

            {

                MessageBox.Show("无法连接到指定的PC数据库!" + ex.Message);

                return;

            }

}

.NET智能设备开发 这是一个简单的智能设备开发程序,采用C#编写,数据库采用的是sql server mobile数据库,适合于初学者参考。 立即下载

相关推荐

PC与wince之间的蓝牙通信

蓝牙 通信 程序 利用两个蓝牙,就可以实现PC之间的无联网通信,但是蓝牙的距离是受限制的,10米以内。

用VS2008+模拟器开发时,如何设置网络

一、在WindowsXP或Windows2000上安装一个回环适配器(不需要象有些人说的那样安装一个VirtualPC的虚拟见网卡,那个虚拟网卡安装程序现在不好找咯): 在WinXP上:    1. Open Control Panel, choose Add Hardware, and then choose Next.   2. Choose Yes, I have already con...

听雨轩 317

VS2008 C#开发WinCE系统程序开发详细步骤

使用VS2008+SQLite开发的WinCE系统下的PDA程序开发,自己写了一个小Deom,希望可以帮助到初次接触这个的人。文档中提到所需要的安装资源我也会放上去的。

从智能设备访问SQL2000的数据

服务器的SQL IIS 配制(数据所在的机器) 创建 Gas 虚拟目录 1.在 Microsoft SQL Server 程序组中,单击"在 IIS 中配置 SQL XML 支持"。 2.展开服务器,然后单击想要的 Web 站点。 3.在"操作"菜单上指向"新建"子菜单,然后单击"虚拟目录"命令。新虚拟目录的属性页将显示在屏幕上。 4.在"新的虚拟目录属性"对话框的"常规"选项卡上,输...

weixin_34208185的博客 120

使用这个算法我可以实现英雄联盟里英雄的走位|Java 开发实战

A算法,A(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近,最终搜索速度越快。 基本概念 首先在大学我们遇到最多的算法Dijkstra、Floyd、广度搜索、深度搜索。关于这些算法我们以后再慢慢的研究,今天的重点在A算法上。A算法是一种启发式算法。与上述几种算法不同的是A*算法在考虑起始节点的同时还会考虑到目标节点的代价。 在A*算法中我们给每个节点都定义一些属性。最基本的就是下文提到的三基数-这里的三基数是我自己定义.

Java进阶营 312

DESeq2实战:利用LRT检验解析时间序列基因表达动态变化

本文详细介绍了如何使用DESeq2中的LRT检验分析时间序列基因表达数据,揭示基因表达动态变化模式。通过构建完整模型与简化模型比较,LRT检验能有效识别处理效应随时间变化的基因,适用于发育过程、疾病进展等研究。文章提供了从数据准备、模型构建到结果可视化的完整实战指南,并分享了高级技巧与常见问题排查方法。

weixin_29062671的博客 439

智能设备访问SQL2000(一)

简单描述下就行了,需要细节的朋友可以联系我,就算交个朋友嘛 1.在asp.net项目中添加一个web服务的页面 2.添加服务的代码,如下: 这样服务端就简单搞定了,下面是客服端。 3.在智能设备项目里添加WEB引用 输入web服务页面的地址,点击确定 就会看到目录里多了一个东东哈 怎么使用?看下面的代码: 转载于:https:/...

weixin_34217773的博客 112

三菱FX5U运动控制(步进)

三菱FX5U脉冲定位控制,原点回归,相对定位,绝对定位,运动控制案例。

weixin_55762091的博客 1万+

C#使用SQLite数据库(使用VS2008[PDA智能设备],VS2010使用SQLite,VS2012使用SQLite)

一、VS2008 1、创建PDA智能设备项目解决方案【现查到的资料值能通过VS2005和2008进行PDA智能设备开发】 2、安装SQlite2010,2008组件:SQLite-1.0.66.0-setup.exe 下载地址http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 3、添加System.Data.SQLite引用 4、添加SQLite.Interop.DLL引用 SQLite.Interop.DLL无

qq_36773804的博客 588

2026年医疗AI的可信革命全栈实现(上)

医疗AI可信化:贝叶斯网络与向量数据库的协同架构 本文探讨2026年医疗AI发展的关键转折点——从追求生成能力转向构建可信决策系统。核心观点认为,医疗AI下一阶段的竞争焦点在于不确定性量化和错误传播约束,而非单纯的问答流畅度。研究提出以Python为开发语言、结合向量数据库与贝叶斯网络的混合架构: 技术分层 语言层(LLM):处理自然语言交互与工具调用 证据层(Milvus/Qdrant):实现可审计的临床知识检索 概率层(pgmpy/PyMC):执行贝叶斯推理与风险路由 治理层:确保权限控制与人工复核机制

AllenLV的博客 1151

SAP_SD模块信用管理-最早未清项判断逾期

在 SAP SD 模块的信用管理(Credit Management) 中,系统可以通过 最早未清项(Oldest Open Item) 来判断客户是否存在逾期,从而影响订单的信用检查结果。例如: 定义最大未清项目%为1%,未清天数为1天,即允许客户“逾期1天的未清应收帐款/该客户的应收帐款余额”最大比例为1%,若超过1%则将被信用冻结。的信用检查功能,用于判断客户是否有账龄过长的未清款项,并据此决定是否允许新的销售订单继续处理。然后在查看客户的信贷信息可以看到,最早的未清信息显示在系统中。

我小时候很黑的博客 863

VS2008中开发智能设备程序的一些总结收藏

原文地址:http://hi.baidu.com/netlmz/blog/item/724c34580522962d2834f01a.html 结合前几日开发的《全国大坝基础数据库采集端》中的PDA程序开发过程,对VS2008开发智能设备上的程序做个小总结。 1 程序结构 程序中包括四个部分: 1. 系统配置 这个部分用来配置系统中的相关参数,参数包...

bao500600的博客 139

C#调用企业微信JS-Sdk实现扫描二维码

企业微信JS-SDK是企业微信面向网页开发者提供的基于企业微信内的网页开发工具包。通过使用企业微信JS-SDK,网页开发者可借助企业微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用企业微信分享、扫一扫等企业微信特有的能力,为企业微信用户提供更优质的网页体验提示:生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是H5应用调用企业微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。

清浅 937

[转]VS2008中开发智能设备程序的一些总结

[转]VS2008中开发智能设备程序的一些总结 结合前几日开发的《全国大坝基础数据库采集端》中的PDA程序开发过程,对VS2008开发智能设备上的程序做个小总结。 1         程序结构 程序中包括四个部分: 1. 系统配置 这个部分用来配置系统中的相关参数,参数包括数据库信息和串口的配置信息。这部分的主要技术是XML文件的读取和写入。 2. 数据下载 从...

博客 93

基于Python的SEC Edgar文件高效爬取:最新技术与实战指南

本文详细介绍了如何使用Python最新技术高效爬取SEC Edgar数据库中的金融文件。我们将探讨SEC Edgar系统的结构、合法爬取注意事项,并使用现代Python库如Requests-HTML、aiohttp和Playwright实现多种爬取方案。文章包含完整的代码示例、性能优化技巧以及数据处理方法,为金融数据分析师、研究人员和开发者提供全面指导。关键词:SEC Edgar、Python爬虫、金融数据、异步爬取、Playwright、XBRL解析。

2201_76125261的博客 633

SE80 Repository Information System 在 SAP CRM WebClient UI 组件分析中的实战指南

在 SAP CRM WebClient UI 开发过程中,如何快速定位组件、视图、上下文节点以及各类运行时对象,一直是调试效率的关键。(后文简称RIS)正是隐藏在SE80里的瑞士军刀,帮助开发者按照组件集、数据元素、上下文节点属性等多维条件进行交叉检索。官方博客将它描述为本文结合多年项目经验,系统梳理RIS的功能脉络与实战技巧,同时引入真实案例,示范如何借助它在几分钟内完成以往动辄数小时的排查任务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2万+

VS2008中开发智能设备程序的一些总结收藏1

<br />结合前几日开发的《全国大坝基础数据库采集端》中的PDA程序开发过程,对VS2008开发智能设备上的程序做个小总结。1         程序结构<br />程序中包括四个部分:<br />1.系统配置<br />这个部分用来配置系统中的相关参数,参数包括数据库信息和串口的配置信息。这部分的主要技术是XML文件的读取和写入。<br />2.数据下载<br />从数据库中下载数据到PDA,PDA上的保存也是使用数据库。这部分的技术主要是PDA设备上的移动数据库开发和使及用PDA连接PC数据库<br /

wince--linux的专栏 1727

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

VS2008中开发智能设备程序

VS2008中开发智能设备程序(手机软件)的总结 (2009/01/24 20:17)目录: PDA软件项目 浏览字体:大 中 小结合前几日开发的《全国大坝基础数据库采集端》中的PDA程序开发过程,对VS2008开发智能设备上...

conglianchun9672的博客 182

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

[转]VS2008中开发智能设备程序的一些总结收藏1

本文转自:http://hi.baidu.com/netlmz/blog/item/724c34580522962d2834f01a.html 原文如下: 结合前几日开发的《全国大坝基础数据库采集端》中的PDA程序开发过程,对VS2008开发智能设备上的程序做个小总结。 1         程序结构 程序中包括四个部分: 1. 系统配置 这个部分用来配置系统中的相关参数,参数包括数据库...

weixin_34372728的博客 434

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VS2008中开发智能设备程序的一些总结(转)

原文地址:http://hi.baidu.com/netlmz/blog/item/724c34580522962d2834f01a.html 结合前几日开发的《全国大坝基础数据库采集端》中的PDA程序开发过程,对VS2008开发智能设备上的程序做个小总结。 1 程序结构 程序中包括四个部分: 1. 系统配置 这个部分用来配置系统中的相关参数,参数包括数据库信息和串口的配置信息。这部分的

Lucker's PowerSpace 1595
上一篇: c#中操作Mapx5.02的方法
下一篇: Myeclipse中进行SSH开发碰到的问题(对于初学者)
citybug_nj
博客等级 码龄25年 8粉丝 6原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值