您的位置:首页 > 编程语言

实例讲解PDA入门开发的过程,附代码

2009-09-13 08:51 736 查看
实例讲解PDA入门开发的过程,附代码

本程序为PDA 入门开发的一个小示例,希望对大家有所帮助,基于mobile5.0的PPC开发,使用语言C#,我的机器的环境:windows 2003(E),SQL2005(E),VS2005(E)
--------------------------首先安装环境---------------------
一个模拟器,和链接PDA的工具
1 Microsoft ActiveSync 4.2.exe
--PDA中使用的数据库
2 sqlce30setupen.msi—版本ce3.0,cf2.0
SSCE31SDK-CHS1.msi
--PPC开发工具的SDK
3 Windows Mobile 5.0 Pocket PC SDK2.msi
--3的汉化
4 Windows Mobile 5.0 Emulator Images for Pocket PC - CHS3.msi
--pda中安装的数据库sqlce,安装文件必须是cab的,否则不能识别
5 sqlce30.ppc.wce4.armv4.CAB
--路径:C:/Program Files/Microsoft SQL Server Compact Edition/v3.1/SDK/bin/Client/v2.0/wce500/armv4i
--------------------------------配置开发环境-----------------------
1 Tools->Device Emulaor Manager
(1)默认选择:Pocket Pc 2003 SE Emulaor 右键->connection之后cradle
(2)安装mobile5.0后选择:CHS Windows Mobile5.0 Pocket Pc Emulaor
右键->connection之后cradle
2 弹出Synchronization Setup Wizard 一直next
将链接上模拟的PDA

-----------------------------创建winform项目----------------------
File -> new ->project->Visual c#->Smart Device->PPc2003->Device Application
--------------------------小测试----------------------
(1)放一个button就可以在PDA中看见效果了
(2)如果是Web的测试程序,在PDA的IE中输入 http://192.168.0.114/localhost/website/defualt.aspx 
----------------------------数据库的配置与基本使用---------------------
--SQL Server Mobile 学习:
--通过VS2005 创建和连接及操作SQL Server Mobile 数据库
a. 在项目外创建SQL Server Mobile数据库
b. 在项目内创建SQL Server Mobile数据库
c. 连接SQL Server Mobile数据库
d. 操作SQL Server Mobile数据库
================================

a. 在项目外创建数据库
----------------------
(1).在“视图”菜单上单击“服务器资源管理器”。
(2).右击“数据连接”,然后单击“添加连接”,打开“添加连接”对话框。
(3).单击“更改”,打开“更改数据源”对话框。
(4).在“数据源”框中,选择“Microsoft SQL Server Mobile Edition”,
然后单击“确定”。
(5).选择“Microsoft SQL Server Mobile Edition”,然后单击“确定”。

b.在项目内创建数据库
---------------------
(1).打开一个项目后,在“数据”菜单上单击“添加新数据源”。
将打开“数据源配置向导”。
(2).在“选择数据源类型”页上,选择“数据库”,然后单击“下一步”。
(3).在“选择您的数据连接”页上单击“新建连接”,打开“添加连接”对话框。
(4).单击“更改”,打开“更改数据源”对话框。
(5).选择“Microsoft SQL Server Mobile Edition”,然后单击“确定”。

c.连接数据库
-------------
以下步骤呈接上面的a或b

(1).在“添加连接”对话框中,选择“我的电脑”。
(2).单击“创建”。
(3).在“创建新的SQL Server 2005 Mobile Edition 数据库”对话框中,
键入新数据库的完全限定路径,如“c:/MyDB”。
(4).在“新密码”和“确认密码”框中键入新数据库的密码(如“MyPassword”),
然后单击“确定”。
(5).在“添加连接”对话框中,单击“测试连接”以确保已建立连接。
出现一条消息指示测试连接成功。
注意SQL Server Mobile 不支持在网络共享上打开数据库文件。
(6).单击“确定”,返回到“添加连接”对话框,
然后单击“确定”关闭该对话框。
(7).在“选择您的数据连接”页上,选择“是,在连接字符串中包含敏感数据”。
(8).单击“下一步”。
出现“本地数据库文件”消息框,询问是否要在当前项目中包括数据文件。
单击“是”。
(9).在“选择您的数据库对象”页上,选择要在项目中包含的表或其他对象。
(10).单击“完成”。

d. 操作SQL Server Mobile数据库
-------------------------
这时通过在“数据”菜单上单击“显示数据源”,
可以在“数据源”窗口中将新数据库作为数据集进行查看。
后续的操作可以通过单击某项的右键来进行

----------------------程序代码--------------------

前台:一个dataGrid,一个button,一个Text
后台如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
//添加SqlServerCe引用后,引入此空间
using System.Data.SqlServerCe;
using System.IO;

namespace PDAconnection
{
public partial class Form1 : Form
{
public Form1()
{
//DGdemo
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.createDatabase();
this.insertData();
SqlCeConnection scn = new SqlCeConnection("DataSource=mysdf.sdf");
SqlCeDataAdapter sada = new SqlCeDataAdapter("select * from pc", scn);
DataTable dt = new DataTable();
sada.Fill(dt);
this.DGdemo.DataSource = dt;
}
private void getData()
{
}
private void insertData()
{
//string strno = "test";
//string xh = "me";
//string werks = "liu";
//string pc_date = DateTime.Now.ToString();
for (int i = 0; i < 6; i++)
{
SqlCeConnection myconn = new SqlCeConnection("DataSource=mysdf.sdf");
SqlCeCommand com = new SqlCeCommand("insert into pc(pcno ,xh,werks,pc_date) values(" + "'2'," + "'ad'," + "'adf'," + "'2001-01-01'" + ")");
myconn.Open();
com.Connection = myconn;
com.ExecuteNonQuery();
myconn.Close();
}
}
private void createDatabase()
{    //创建数据库
try
{
if (File.Exists("mysdf.sdf"))
{
MessageBox.Show("database is exists deleteing");
File.Delete("mysdf.sdf");
}
else
{
SqlCeEngine eng = new SqlCeEngine("DataSource=mysdf.sdf");
eng.CreateDatabase();
eng.Dispose();
MessageBox.Show("create database success");
}
Boolean rtu;
rtu = CreateTable();
if (rtu == false)
{
MessageBox.Show("database have already existe!");
}
else
{
MessageBox.Show("cretae database success!");
}

}
catch (Exception ex)
{
MessageBox.Show("create database fail " + ex.ToString().Substring(1, 60));
}
}
private Boolean CreateTable()
{
try
{
SqlCeConnection myconn = new SqlCeConnection("DataSource=mysdf.sdf");
SqlCeCommand com = new SqlCeCommand("create table PC (PCNO NVarChar(10) primary key,XH NVarChar(10) NOT NULL,WERKS NVarChar(4) NOT NULL,PC_DATE NVarChar(10))");
myconn.Open();
com.Connection = myconn;
com.ExecuteNonQuery();
myconn.Close();
MessageBox.Show("create database success!");
return true;
}
catch (Exception ex)
{
MessageBox.Show("create database faile" + ex.ToString().Substring(1, 60));
return false;
}
}

private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "ok...good";
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if ((e.KeyCode == System.Windows.Forms.Keys.Up))
{
// Rocker Up
// Up
}
if ((e.KeyCode == System.Windows.Forms.Keys.Down))
{
// Rocker Down
// Down
}
if ((e.KeyCode == System.Windows.Forms.Keys.Left))
{
// Left
}
if ((e.KeyCode == System.Windows.Forms.Keys.Right))
{
// Right
}
if ((e.KeyCode == System.Windows.Forms.Keys.Enter))
{
// Enter
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐