win mobile RDA 入门范例

原文连接http://chaoyouzhuo.blog.163.com/blog/static/12637600120098116554277/

1、  打开SQL Server 2005 ,新建一个用于测试的数据库“mobileTest”,在新建一张表。

2、  我们向表中添加3条记录,然后我们配置 WEB同步。点击开始”-->"Microsoft SQL Server 2005 mobile edition"-->"配置WEB同步",出现配置向导,点击下一步。

3、  选择服务器类型为SQL mobile edition 

4、  WEB服务器:IIS计算机名为本地计算机名,选择创建新的虚拟目录,选择默认网站,点击下一步。

5、  输入别名“mobile”点击下一步。

6、  出现文件不存在,是否创建它的提示,点击;出现是否要复制和注册SQL mobile代理 ,点击;出现安全通道对话框,点击;出现客户端身份验证,本实验选择匿名登录,点击下一步。

7、  创建一个共享文件夹,在快照共享访问中选择你上面创建的共享文件,点击下一步。

8、  出现共享快照为空,是否创建它的对话框,点击“是”;

9、  出现完成向导对话框,提示客户端可将“http://ZHUOCHAOYOU/mobile/sqlcesa30.dll”用作 Internet URL 点击完成

10、  成功配置了WEB 同步,点击关闭

11、  在浏览器中输入http://ZHUOCHAOYOU/mobile/sqlcesa30.dll,就可以看到访问代理成功的提示。

12、  Vs创建一个智能设备项目,添加两个按钮,PULL菜单是从数据库服务器中提取数据到本地智能机上,PUSH菜单是把本地的数据推送到数据库服务器。

13、  添加引用“System.Data.SqlServerCe

14、  Pull的方法如下

 private void pull_Click(object sender, EventArgs e)

 {   //先删除本地的数据库,才可以获取最新的数据

            if (System.IO.File.Exists(@"/My Documents/mobileTest2.sdf"))

            System.IO.File.Delete(@"/My Documents/mobileTest2.sdf");

            //创建本地(智能机上)数据库

            SqlCeEngine eng = new SqlCeEngine(@"Data Source=/My Documents/mobileTest1.sdf");

            eng.CreateDatabase();

            using (SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess())

            {   //以数据库管理员SA的身份访问数据库服务器

                string cn = @"Provider=SQLOLEDB;Data Source=192.168.0.156;Initial Catalog=mobileTest;User ID=sa;Password=1987228";

                //前面配置WEB同步时的http访问地址,不过这里要用ip地址

                rda.InternetUrl = @"http:// 192.168.0.156/mobile/sqlcesa30.dll";

                rda.LocalConnectionString = @"Data Source=/My Documents/mobileTest2.sdf";

                try

                {   //提取数据,如果你只需要id的记录该SELECT语句就行select id,name from table1=‘1’

                    rda.Pull("table1", "select id,name from table1 ", cn, RdaTrackOption.TrackingOn, "rdatableerror");

                    MessageBox.Show("RDA pull Done");

                }

                catch (SqlCeException ex)

                {

                    MessageBox.Show(ex.Message);

                }

            }

        }

Push的方法如下

 private void push_Click(object sender, EventArgs e)

        {

            using (SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess())

            {

                string cn = @"Provider=SQLOLEDB;Data Source=192.168.0.156;Initial Catalog=mobileTest;User ID=sa;Password=1987228";

                rda.InternetUrl = @"http://192.168.0.156/mobile/sqlcesa30.dll";

                rda.LocalConnectionString = @"Data Source=/My Documents/mobileTest2.sdf";

                try

                { //推送数据回服务器数据库

                    rda.Push("table1",cn);

                }

                catch (SqlCeException ex)

                {

                    MessageBox.Show(ex.Message);

                }

                MessageBox.Show("RDA push Done");

            }

        }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值