c#开发WinCE程序之sqlce安装

来源:互联网 发布:arm linux gcc官网 编辑:程序博客网 时间:2024/04/29 14:21

第一次做c#开发,也是第一次做嵌入式开发,为了使用数据库,找了好多的资料。可能是现在大多是安卓开发了吧,资料不多,而且大部分资料都狠重点,看不出数据库怎么配的。弄了1天,总算弄好了。其实还是很简单的。

我使用的是vs2008开发,语言是C#,网上有很多推荐的wince的数据库,但是我最终选定了sqlce,主要原因是找到一份sqlce较完整的安装说明,次要原因在于我本地正好有sqlserver。

1,wince安装数据库驱动

    拷贝\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i目录下的sqlce.wce5.armv4i,sqlce.repl.wce5.armv4i,sqlce.dev.ENU.wce5.armv4i到wince根目录,然后在wince顺次双击安装,一路回车即可。

    两点说明:1,一定要顺次,因为第一个是驱动,后面两个好像都是工具,顺序错了重新安装一次即可。

                      2,据说有些平板在重启后需要重新安装,所以要烧进系统,我没遇到,我也不会,所以需要的朋友再去找其他资料。

2,VS2008建立数据库

    在项目中增加数据库文件。这里还需要说一句,如果加入数据库时报错了,那是dll旧了,我找了很久,最后还是在咱csdn找到个能用的。

    http://download.csdn.net/detail/friendan/4807206,要用9.0.30729.1版

 

    通过database prperties可以设定密码。

    通过如上视图还可以创建表,检索表等操作,不再啰嗦。

3,开发程序

    直接贴代码了,从代码里找需要的内容吧,别忘了加入包名,否则是找不到类的,在reference里加入也是可以的。还有就是wince里数据库的路径是绝对路径。

using System;using System.Data.SqlServerCe;using System.Collections.Generic;using System.Text;using System.Data;namespace aaa{    public class Connection    {        //local        //private const string dataSource="C:/AppDatabase1.sdf";        //screen        private const string dataSource = "/ResidentFlash/AppDatabase1.sdf";        private const string password = "password";        protected SqlCeConnection _Connection = null;        /**         * 打开连接         *          */        protected Boolean createConnection()        {            //连接sql server Mobile数据库的连接字符串            string _LocalConnectionString = "Data Source=" + dataSource 
                       + ";Persist Security Info=True;password=" + password + ";";            _Connection = new SqlCeConnection(_LocalConnectionString);            try            {                //打开连接                _Connection.Open();                return true;            }            catch (Exception e)            {                Console.Out.WriteLine(e.StackTrace);                return false;            }        }        /**         *关闭连接         */        protected Boolean closeConnection()        {            if (_Connection.State == ConnectionState.Open)                _Connection.Close();            return true;        }        /**         * 数据执行         */        public int executeNonQuery(string sqlstr)        {            //如果创建连接成功            if (createConnection())            {                try                {                    //执行                    SqlCeCommand cmd = _Connection.CreateCommand();                    cmd.CommandText = sqlstr;                    cmd.ExecuteNonQuery();                    return 1;                }                catch (Exception e)                {                    //异常                    Console.Out.WriteLine(e.StackTrace);                    return 0;                }                finally                {                    //关闭连接                    closeConnection();                }            }            return 0;        }        /**         * 检索数据条数         */        public int selectCount(string sqlstr)        {            //如果创建连接成功            if (createConnection())            {                try                {                    //执行                    SqlCeCommand cmd = _Connection.CreateCommand();                    cmd.CommandText = sqlstr;                    SqlCeDataReader rdr = cmd.ExecuteReader();                    rdr.Read();                    return rdr.GetInt32(0);                }                catch (Exception e)                {                    //异常                    Console.Out.WriteLine(e.StackTrace);                    return 0;                }                finally                {                    //关闭连接                    closeConnection();                }            }            return 0;        }    }}


 

0 0
原创粉丝点击