PDA 开发入门大全

             PDA 入门开发的一个DEMO
      --类别:总结

      --charry0110(晓风残月

本程序基于 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
            }
 
        }
 
      
    }
}
 

你可能感兴趣的:(PDA 开发入门大全)