PDA 开发入门大全

来源:互联网 发布:java多态原理 编辑:程序博客网 时间:2024/05/22 11:31

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

      --charry0110(晓风残月

本程序基于mobile5.0PPC开发,使用语言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的测试程序,在PDAIE中输入
     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.连接数据库
-------------
以下步骤呈接上面的ab
 
(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
            }
 
        }
 
      
    }
}
 
原创粉丝点击