Windows Mobile连接数据库的几种方式

有时间整理一下Windows Mobile连接数据库的几种方式:

连接的方式整理四种:
第一,使用WebService作为中介访问数据,在PDA中可以直接访问安装在访问器上的Web Service,通过Web Service就可以访问远
程数据库了.最简单的一种,使用Web Service可以在速度上会稍显得有点慢.

第二,直接访问.SQL Server2000或SQL Server2005都可以直接访问,如果Access数据库那就只能用上一种方法了。使用SQLCE工具连接数据库.

第三,PDA客户端与服务端连接.最费事的一种,也是最安全的一个.使用Socket,网络程序,客户端安装在PDA上,在PDA上使用Socket连接服务器传递数据,当然还得写一个访问器端,开启监听接受客户端的数据,并向将从数据种查询到的数据访问发送到客户端,使用这种方法比较复杂和麻烦。

第四,读写文件的形式.将从访问器上读取到的数据库信息写成文件的形式保存在PDA本地。如XML文件或INI文件

 

刚开始的时候记得尝试用了第一种方式,使用WebService连接数据库,感觉很简单,但有时候觉得还是慢,又不是很安全.为此采用了第三种方式,自己写了个服务端放在固定IP上,客户端通过Socket进行数据的传递.

闲下来时,尝试了一下用SQLCE连接如何,试了试,如下简单代码:

            string connectionString = @"Data Source=MobileCE.sdf";
            SqlCeConnection conObj=new SqlCeConnection(connectionString);
            conObj.Open();
            DataTable     dtPDA   =   null;
            SqlCeDataAdapter daPDA = new SqlCeDataAdapter();
       
          daPDA.SelectCommand   =   conObj.CreateCommand();
          daPDA.SelectCommand.CommandText = "select  username,userpwd  from login";
       
          dtPDA   =new   DataTable("login");  
                               
          daPDA.Fill(dtPDA);
          conObj.Close();
          this.dataGrid1.DataSource=dtPDA;

提示始终找不到数据库文件(提示:首先记得添加引用System.Data.SqlServerCE,导入命名空间using system.Data.SqlServerCe;),改了绝对路径也是不行.

最后从网上搜到了,连接字符串的问题,改为如下

SqlCeConnection conObj = new SqlCeConnection(("Data Source =" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "//MobileCE.sdf;")));

测试连接通过,显示到了数据库表中的数据.

若使用此路径时,还提示找不到数据库文件时,在项目上右键添加现有项,找到创建的sdf数据库文件(创建数据源时的.sdf文件),添加到项目中,此时在解决方案中就会有刚才添加到的sdf文件,在DEBUG文件中,也可以看到此文件,注意不要复制该文件,将文件直接复制到DEBUG目录下也是找不到该文件的.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值