Windows Mobile5.0 10月18日笔记:RDADemo

来源:互联网 发布:剑三女王捏脸数据 编辑:程序博客网 时间:2024/05/18 20:08

所需工具

1、sql server 2000 sp4

2、sql server mobile 2005

3、sql server mobile tools

安装sql server mobile tools完成后,打开IE地址栏输入http://机器名/sqlMobile/sqlcesa30.dll,显示Sql Mobile Agent 3.0 即为正常。

功能简介

1、把pc机sql server中某表pull到sqlce表中,

2、修改sqlce中此表的内容

3、把sqlce中此表Push到sql server中

具体步骤

1、using System.Data.SqlServerCe;

2、配置字符串

private string rdaOleDbConnectString = @"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=XSupDate;Data Source=ZHOUSAI007";//用来连接sql server

        private string rdaUrl = @"http://ZHOUSAI007/sqlMobile/sqlcesa30.dll";//sql server mobile tools

        private string localConnection = "Data Source=//My Documents//RdaDB.sdf";//用来连接sqlce mobile

 

3、方法RdaPull() ,用来把pc机sql server中某表Pull到sqlce表中

private void RdaPull()
        {
            try
            {
                //Create the DataBase清空sqlce表中的内容
                if (File.Exists("//My Documents//RdaDB.sdf"))
                {
                    File.Delete("//My Documents//RdaDB.sdf");
                }

                SqlCeEngine engine = new SqlCeEngine();
                engine.LocalConnectionString = localConnection;
                engine.CreateDatabase();
                engine.Dispose();

                //Initialize RDA Object
                SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess(rdaUrl, localConnection);
                rda.Pull("Staffs", "select * from Staffs", rdaOleDbConnectString, RdaTrackOption.TrackingOn);
                rda.Dispose();

                MessageBox.Show("Pull Done");


            }
            catch (SqlCeException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

 4、修改sqlce中此表的内容

private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                SqlCeConnection conn = new SqlCeConnection(localConnection);

                conn.Open();

                string sqlstr = @"insert into staffs(StaffsCode,StaffsName)
                               values('"+textBox1.Text+"','"+textBox2.Text+"')";

                SqlCeCommand cmd = new SqlCeCommand(sqlstr, conn);

                cmd.ExecuteNonQuery();

                cmd.Dispose();

                conn.Dispose();

                MessageBox.Show("Add Done");
            }
            catch (SqlCeException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

 5、把sqlce中此表Push到sql server中

private void menuItem4_Click(object sender, EventArgs e)
        {
            try
            {
                SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess(rdaUrl,localConnection);

                rda.Push("staffs", rdaOleDbConnectString, RdaBatchOption.BatchingOn);

                rda.Dispose();

                MessageBox.Show("Push Done");
            }
            catch (SqlCeException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

原创粉丝点击