zoukankan      html  css  js  c++  java
  • PDA开发系列:数据库的选择

         程序的最终运行环境是WINCE6.0,所以可以选择的数据库也相对比较的多,比方说:Access、SQLCE,当然还可以用XML来充当数据库,Access有个弊病,我想大家可能都知道,就是运行的时间一长,数据库文件会越来越大,尽管可以通过压缩的方式来释放掉,但是,这并不是一个好的选择;XML毕竟是个文本,效率不够高;SQLCE我不熟悉,在PDA上使用,好像还需要安装一些东西。我在这个项目中,选择的是SQLite数据库。

        

        SQLite是一个十分小巧的数据库,安装使用都非常的简单。我将一一的介绍:

        创建数据库

        创建我们自己的数据库,我推荐大家用SQLite Developer来创建。打开SQLite Developer,选择“数据库列表”,右键选择“创建数据库”,打开“创建数据库”界面,在“数据库”中选择一个数据库文件存储的位置,在“数据库别名”中,输入数据库名字,这个名字就是我们在程序中用到的名字。然后“确定”,这样,一个SQLite数据库就创建完成了。要创建表,只需要在在左侧的树中,选择刚才创建的数据库,右键选择创建表就可以了。如下:

    image

         连接数据库

         在代码中连接SQLite数据库很简单,我们只需要添加对System.Data.SQLite.dll的引用,然后把SQLite.Interop.065.DLL放在运行目录下就可以了,然后就可以像操作我们属性的SQL Server一样去操作SQLite数据库。但是,在连接字符串的书写上,我们需要注意。我们需要给出绝对路径。如下面的写法:Data Source=\Userdata\ZFB.db3;通常,我们的数据库文件都是放在主程序所在文件夹下面,这就要求我们能够得到程序的启动路径,在wince6.0中,微软没有直接为我们提供获取程序启动路径的方法,这就要求我们自己去实现,我是这样获取的:

            private static string _startPath = string.Empty;
    
            /// <summary>
            /// 获取应用程序启动的路径
            /// </summary>
            public static string StartPath
            {
                get
                {
                    if (string.IsNullOrEmpty(_startPath))
                    {
                        _startPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
                    }
                    return _startPath;
                }
            }

    在这里,还有一点需要注意,我们再操作SQLite数据库的时候,如果程序没有找到SQLite数据库的时候,程序不会报“连接数据库失败”,他会在对应的文件夹下面自动创建一个数据库文件,当我们进一步去访问表的时候,就会报类似于“没有找到表”的错误,所以,在编程过程中,如果遇到“没有找到表”的错误,就应该去检查一下,路径下面是否有SQLite数据库文件。

    相关下载:SQLite.rar

    作者:HOH
    出处:http://hoh.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    POJ-1035 Spell checker---字符串处理
    hdu-3572 Task Schedule---最大流判断满流+dinic算法
    BZOJ4826: [Hnoi2017]影魔
    BZOJ4825: [Hnoi2017]单旋
    BZOJ3504: [Cqoi2014]危桥
    BZOJ4407: 于神之怒加强版
    BZOJ2818: Gcd
    BZOJ4542: [Hnoi2016]大数
    BZOJ4540: [Hnoi2016]序列
    BZOJ4537: [Hnoi2016]最小公倍数
  • 原文地址:https://www.cnblogs.com/HOH/p/1872095.html
Copyright © 2011-2022 走看看