• Windows Mobile连接数据库的几种方式(转)


    连接的方式整理四种:

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

     

    第二、直接访问.SQL Server2000SQL 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目录下也是找不到该文件的.

     

     

     

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dongdingbaihe/archive/2009/10/20/4703423.aspx

  • 相关阅读:
    postgresql 高可用 etcd + patroni 之四 failover
    mysql 高可用架构 mha 之三 master_ip_online_change
    postgresql 一种比较个性的 sql 写法
    mysql 高可用架构 mha 之二 master_ip_failover
    mysql 高可用架构 mha 之一 安装
    vacuum 不释放文件系统空间
    mysql slave 复制冲突的解决
    mysql 8.0 登录报错
    oceanbase的一些网址信息
    cockroachdb的一些网址信息
  • 原文地址:https://www.cnblogs.com/quietwalk/p/1825961.html
Copyright © 2020-2023  润新知