SQLite 之 C#版 System.Data.SQLite 使用

SQLite 之 C#版 System.Data.SQLite 使用,第1张

概述简介 SQLite简介     SQLite,是一款轻型的关系型数据库。它的设计目标是嵌入式。     它能够支持Windows/Linux/Unix等等主流的 *** 作系统,同时能够跟很多程序语言相结合,比如 C++、C#、Object-C、PHP、Java等。     我是做手游开发的,在手机上使用SQLite 存储数据是很方便的。  System.Data.SqLite实践前期准备 System. 简介 sqlite简介

sqlite,是一款轻型的关系型数据库。它的设计目标是嵌入式。

它能够支持windows/linux/Unix等等主流的 *** 作系统,同时能够跟很多程序语言相结合,比如 C++、C#、Object-C、PHP、Java等。

我是做手游开发的,在手机上使用sqlite 存储数据是很方便的。

System.Data.sqlite实践前期准备 System.Data.sqlite 库下载,用于C# *** 作sqlite的dll文件。下载地址:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki sqlite可视化工具下载,用于查看sqlite库数据表数据。下载地址:http://www.sqliteexpert.com/download.html

Tips:

1.根据自己的电脑是64bit或者32bit 以及使用的.NET Freamwork版本下载相应的的System.Data.sqlite。 下载解压文件如:

安装在指定目录后生成多个dll文件:

本文测试用的只有System.Data.sqlite.dll。对于sqlite库数据的增删改查已经足够用了。

2.sqlite数据库文件以.db为后缀。安装sqlite可视化工具后如图:

mydb是我测试用的数据库。

实践

对sqlite的增、删、改、查。

测试环境:VS2015 语言:C#

创建控制台新工程,引入System.Data.sqlite.dll文件。

1.编写sqlite *** 作类,对sqlite数据 *** 作进行封装为sqliteHelper,代码如下:

    /// <summary>    /// sqlite  *** 作类    </summary>    class sqliteHelper    {        <summary>         数据库连接定义        </summary>        private sqliteConnection dbConnection;         sql命令定义        private sqliteCommand dbCommand;         数据读取定义        private sqliteDataReader dataReader;         构造函数        </summary>        <param name="connectionString">连接sqlite库字符串</param>        public sqliteHelper(string connectionString)        {            try            {                dbConnection = new sqliteConnection(connectionString);                dbConnection.open();            }catch(Exception e)            {                Log(e.ToString());            }        }         执行sql命令        <returns>The query.</returns>        <param name="queryString">sql命令字符串public sqliteDataReader Executequery(string queryString)        {            try            {                dbCommand = dbConnection.CreateCommand();                dbCommand.CommandText = queryString;                dataReader = dbCommand.ExecuteReader();            }catch(Exception e)            {                Log(e.Message);            }            return dataReader;        }         关闭数据库连接        public voID CloseConnection()        {            //销毁Commend            if(dbCommand !=null)            {                dbCommand.Cancel();            }            dbCommand = null;            销毁Reader            if(dataReader != null)            {                dataReader.Close();            }            dataReader = 销毁Connection            if(dbConnection != null)            {                dbConnection.Close();            }            dbConnection = null;        }         读取整张数据表        The full table.<param name="tablename">数据表名称public sqliteDataReader ReadFulltable(string tablename)        {            string queryString = "SELECT * FROM " + tablename;            return Executequery(queryString);        }         向指定数据表中插入数据        The values.</param>        <param name="values">插入的数值public sqliteDataReader InsertValues(string tablename,string[] values)        {            获取数据表中字段数目            int fIEldCount = ReadFulltable(tablename).FIEldCount;            当插入的数据长度不等于字段数目时引发异常            if (values.Length != fIEldCount)            {                throw new sqliteException(values.Length!=fIEldCount");            }            INSERT INTO " + tablename +  VALUES (" + '"+ values[0]+";            for (int i = 1; i < values.Length; i++)            {                queryString += ,"+values[i] + ";            }            queryString +=  )return Executequery(queryString);        }         更新指定数据表内的数据        <param name="colnames">字段名<param name="colValues">字段名对应的数据<param name="key">关键字<param name="value">关键字对应的值<param name="operation">运算符:=,128);line-height:1.5;"><,>public sqliteDataReader UpdateValues(string[] colnames,255);line-height:1.5;">string[] colValues,255);line-height:1.5;">string key,255);line-height:1.5;">string value,255);line-height:1.5;">string operation==")        {            当字段名称和字段数值不对应时引发异常            if (colnames.Length != colValues.Length)            {                colnames.Length!=colValues.LengthUPDATE  SET " + colnames[0] + " + colValues[1; i < colValues.Length; i++)            {                queryString += " + colnames[i] + " + colValues[i] +  WHERE " + key + operation + " + value +  删除指定数据表内的数据        public sqliteDataReader DeleteValuesOR(string[] operations)        {            if (colnames.Length != colValues.Length || operations.Length != colnames.Length || operations.Length != colValues.Length)            {                colnames.Length!=colValues.Length || operations.Length!=colnames.Length || operations.Length!=colValues.LengthDELETE FROM 0] + operations[OR " + colnames[i] + operations[";            }            public sqliteDataReader DeleteValuesAND( AND " + colnames[i] + operations[i] +  创建数据表        </summary> +        The table.数据表名<param name="colTypes">字段名类型public sqliteDataReader Createtable(string[] colTypes)        {            CREATE table IF NOT EXISTS ( " " + colTypes[0];            1; i < colnames.Length; i++)            {                queryString += " + colTypes[i];            }            queryString +=   )  Reads the table.        table name.<param name="items">Items.Col names.<param name="operations">Operations.Col values.public sqliteDataReader Readtable(string[] items,255);line-height:1.5;">string[] operations,255);line-height:1.5;">string[] colValues)        {            SELECT " + items[1; i < items.Length; i++)            {                queryString += " + items[i];            }            queryString +=  FROM " + operations[0; i < colnames.Length; i++)            {                queryString += " + operations[i] +  本类log        <param name="s"></param>        static voID Log(string s)        {            Console.Writeline(class sqliteHelper:::" + s);        }    }

Tips:1.别忘了引入:using System.Data.sqlite;

2.引入System.Data.sqlite.dll的同时,需要将System.Data.sqlite.dll.config文件放在同级目录下。否则加载dll文件时报错。

2.在工程主函数Main里面添加测试代码

class Program    {        private static sqliteHelper sql;        voID Main(string[] args)        {            sql = new sqliteHelper(data source=mydb.db");                                    创建名为table1的数据表            sql.Createtable(table1",255);line-height:1.5;">new string[] { IDnameAgeEmail" },0);line-height:1.5;">INTEGERTEXT" });            插入两条数据            sql.InsertValues(string[]{1张三22Zhang@163.com" });            sql.InsertValues(2李四25li4@163.com" });            更新数据,将name="张三"的记录中的name改为"Zhang3"            sql.UpdateValues(ZhangSanZhang3");            删除name="张三"且Age=26的记录,DeleteValuesOR方法类似            sql.DeleteValuesAND(" });            读取整张表            sqliteDataReader reader = sql.ReadFulltable(");            while (reader.Read())            {                读取ID                Log(""+reader.GetInt32(reader.Getordinal(")));                读取name                Log(""+reader.GetString(reader.Getordinal(读取Age                Log(读取Email                Log(reader.GetString(reader.Getordinal(")));            }            while (true)            {                Console.Readline();            }        }        ""+s);        }    }
Tips:1.别忘了引入:using System.Data.sqlite;


from:https://www.cnblogs.com/mengdongsky/p/6867038.HTML

总结

以上是内存溢出为你收集整理的SQLite 之 C#版 System.Data.SQLite 使用全部内容,希望文章能够帮你解决SQLite 之 C#版 System.Data.SQLite 使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1161620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存