在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、软件安装 1、安装Visual Studio2008 2、安装 Microsoft ActiveSync 3、安装 Microsoft SqlServer2005数据库 4、安装IIS 5.x 二、创建智能设备项目 1、文件---新建---项目---智能设备---智能设备项目,如下图: 2、点击确定------进入 “添加新智能设备项目”页面------选择 “设备应用程序”,如下图: 3、点击 “确定”---进入项目页面,现在可以在Form框里拖放工具箱里的控件了,如下图: 4、在 vs2008菜单中选择“工具”---“设备仿真器管理器”-----进入到“设备仿真器管理器 ”页面,如下图: 5、选择和vs2008开发环境相应的 仿真器设备,这里选择“CHS Windows Mobile 5.0 Pocket PC R2 Emulator” ,右键----“连接”,出现如下画面: 6、在选择的“CHS Windows Mobile 5.0 Pocket PC R2 Emulator” 的仿真器设备上 右键----“插入底座” ,仿真器部署完毕,如下图所示,现在可以点击vs2008中的“生成解决方案”-----“启动调试” 来运行程序。
三、使用同步软件ActiveSync将智能设备与PC机同步 1、打开ActiveSync软件,点击---“文件”----“连接设置”---进入连接设置页面,在连接设置页面中选择“允许连接到以下其中一个端口”----选择“DMA”---确定。如下图: 2、在vs2008中,“工具”-----“设备仿真器管理器”-----这里选择“CHS Windows Mobile 5.0 Pocket PC R2 Emulator” ,右键----“连接”,在模拟器启动后再次选择“CHS Windows Mobile 5.0 Pocket PC R2 Emulator” 右键------“插入底座” ,会出现ActiveSync软件的同步设置向导,在同步设置向导中最终点击完成。现在就可以利用同步软件ActiveSync连接到模拟器,实现数据同步。如下图: 3、在模拟器Pocket PC --WM5.0 中,“开始”----“设置”----“连接”-----“网卡”-----“默认单位设置”----“AsyncMac NDISWAN Miniport”-----“使用服务器分配的IP地址”----“OK”-----“OK”。 4、在模拟器Pocket PC --WM5.0 中,“开始”----“设置”----“连接”----“连接”-----“高级”----“选择网络”----在程序自动连接到Internet时,使用:选择“单位设置”-----“OK”-----“OK”。 5、在模拟器Pocket PC --WM5.0 中,“开始”----“Inernet Explorer”----出现如下图。如果没有成功,在设备仿真器管理器中重新连接,插入底座,重试一遍。
四、智能设备中SqlCe数据库软件的安装、数据库表的创建 1、微软推出的针对嵌入式软件的数据库为SqlCe,如果在pc 上已经安装了SqlServer2005,SqlCe一般存在于SqlServer2005安装后的文件中。也可以直接下载SqlCe安装包。本次使用的是存在于SqlServer2005安装后的文件中SqlCe,如图所示: 2、在已经经过配置,使用同步软件ActiveSync将智能设备与PC同步后,在ActiveSync软件中点击 "浏览",出现如图界面: 3、直接把上述三个SqlCe安装包复制粘贴到移动设备里面。 4、在模拟器Pocket PC --WM5.0 中,"开始"----"程序"----"资源管理器" 里面找到刚才复制的那三个SqlCe安装包,依次分别双击安装。安装完成后就会在开始菜单中出现一个"Query Analyzer3.5 "查询分析器。单击"Query Analyzer3.5"进入到如下画面: 5、在Query Analyzer3.5单击下面的三角型按钮,进入Connect to SqlServer Compact页面,点击"New Database",选择相应的Sort,在Path中输入数据库名称或路径加数据库名称(注意输入法改成英文),在Password中输入密码。如下图所示,然后点击Create即可创建数据库如下图。
6、点击进入Table Definition页面,在Name中输入表名,如Student,点击"Insert Column" 输入Student表中的每个字段(注意输入法改成英文),最终如下图: 五、智能设备中SqlCe数据库的编程 1、在Form中添加三个button按钮 和 一个DataGrid控件。如图所示: 2、添加 System.Data.SqlClient 和 System.Data.SqlServerCe 引用,运行效果如下: 添加的代码如下: private void btn_Add_Click(object sender, EventArgs e)//添加 { //连接sql server Mobile数据库的连接字符串 string connString = "Data Source='My Documents\\Test.sdf'; LCID=1033; Password=\"123456\"; Encrypt = TRUE;"; //建立链接 SqlCeConnection ConnMobile = new SqlCeConnection(connString); try { ConnMobile.Open(); } catch (Exception ex) { MessageBox.Show("不能正确连接数据库!" + ex.Message); this.Close(); throw; } string sql = "Insert into Student (ID,Name,Age) values (1,'小明',18)"; SqlCeCommand command = new SqlCeCommand(sql, ConnMobile); int r = command.ExecuteNonQuery(); if (r > 0) { MessageBox.Show("添加数据成功!"); } } 查询的代码如下: private void btn_Search_Click(object sender, EventArgs e)//查询 { string connString = "Data Source='My Documents\\Test.sdf'; LCID=1033; Password=\"123456\"; Encrypt = TRUE;"; SqlCeConnection ConnMobile = new SqlCeConnection(connString); try { ConnMobile.Open(); } catch (Exception ex) { MessageBox.Show("不能正确连接数据库!" + ex.Message); this.Close(); throw; } string sql2 = "select * from Student "; DataSet ds2 = new DataSet(); SqlCeDataAdapter command = new SqlCeDataAdapter(sql2, ConnMobile); command.Fill(ds2, "ds"); dataGrid1.DataSource = ds2.Tables[0]; } 六、智能设备仿真器与WebService通信 1、在vs2008中 ,文件---新建----项目-----visual C#-----Web----ASP.NET Web服务应用程序,如下图: 2、在安装IIS的PC上,我的电脑----管理----Internet信息服务----网站----默认网站----在"默认网站"上新建 "虚拟目录",并进行相应的权限配置,虚拟目录的本地路径选择上面建立的WebService路径。如下图: 3、在智能设备项目中选中 "SmartDeviceProject" 右键---添加Web引用,在URL中填上相应的http地址,也可以修改web应用名,如下图: 4、然后点击"添加引用",出现web References,如下图: 5、在已经经过配置,使用同步软件ActiveSync将智能设备与PC同步后,在上面的Form框中的 与WebServer通信按钮下添加代码如下: private void button3_Click(object sender, EventArgs e)//与WebService通信 { //添加Web引用的 Web引用名是什么就写什么,这里是localhost,可以改其他名字 localhost.Service1 ws = new SmartDeviceProject.localhost.Service1(); MessageBox.Show(ws.HelloWorld()); }
最终效果如下图:
6、如果出现"无法连接远程网络"等类似错误,使用同步软件ActiveSync在vs2008的设备仿真器管理器中重新连接、插入底座。 7、所开发的程序文件存放在 模拟器Pocket PC --WM5.0 中,“开始”----“程序”---“资源管理器”---“Program Files”中,双击就可以打开,本文所制作的软件如下图: 七、全部代码 using System; using System.Linq; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Data.SqlServerCe; namespace SmartDeviceProject { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btn_Add_Click(object sender, EventArgs e)//添加 { //连接sql server Mobile数据库的连接字符串 string connString = "Data Source='My Documents\\Test.sdf'; LCID=1033; Password=\"123456\"; Encrypt = TRUE;"; //建立链接 SqlCeConnection ConnMobile = new SqlCeConnection(connString); try { ConnMobile.Open(); } catch (Exception ex) { MessageBox.Show("不能正确连接数据库!" + ex.Message); this.Close(); throw; } string sql = "Insert into Student (ID,Name,Age) values (1,'小明',18)"; SqlCeCommand command = new SqlCeCommand(sql, ConnMobile); int r = command.ExecuteNonQuery(); if (r > 0) { MessageBox.Show("添加数据成功!"); } } private void btn_Search_Click(object sender, EventArgs e)//查询 { string connString = "Data Source='My Documents\\Test.sdf'; LCID=1033; Password=\"123456\"; Encrypt = TRUE;"; SqlCeConnection ConnMobile = new SqlCeConnection(connString); try { ConnMobile.Open(); } catch (Exception ex) { MessageBox.Show("不能正确连接数据库!" + ex.Message); this.Close(); throw; } string sql2 = "select * from Student "; DataSet ds2 = new DataSet(); SqlCeDataAdapter command = new SqlCeDataAdapter(sql2, ConnMobile); command.Fill(ds2, "ds"); dataGrid1.DataSource = ds2.Tables[0]; } private void button3_Click(object sender, EventArgs e)//与WebService通信 { //添加Web引用的 Web引用名是什么就写什么,这里是localhost,可以改其他名字 localhost.Service1 ws = new SmartDeviceProject.localhost.Service1(); MessageBox.Show(ws.HelloWorld()); } } }
|
请发表评论