C# SQlite操作方法小结
程序员文章站
2023-08-29 22:16:06
本文实例分析了c# sqlite操作方法。分享给大家供大家参考,具体如下:
最近项目需求用c#保存一些数据,如此先总结一下。需要下载sqlite 库 sourceforg...
本文实例分析了c# sqlite操作方法。分享给大家供大家参考,具体如下:
最近项目需求用c#保存一些数据,如此先总结一下。需要下载sqlite 库 sourceforge 链接网址或到官方网下载都可以,下载之后安装。在c#项目中添加引用 引入安装目录bin中的system.data.sqlite.dll。添加命名空间using system.data.sqlite;便可以在你的项目中
对扩平台的微型数据库sqlite 进行使用了,
主要注意一点是:
数据库若未创建则使用:
sqliteconnection.createfile(databasename);
数据库已经创建,并要进行访问:
复制代码 代码如下:
sqliteconnection m_conn = new sqliteconnection("datasource="+m_dbname+";version=3;new=false;compress=true;");
下面是项目中封装的操作数据库代码,使用时可稍微修改便可在项目中使用。
using system; using system.collections.generic; using system.text; using system.data.sqlite; namespace toolbar { public class cspdatabase { protected string m_dbname; protected string m_tablename; protected string m_password; public cspdatabase(string dbname) { m_dbname = dbname; m_tablename = "mhtinfo"; m_password = ""; } //create database public virtual void init() { } public virtual void createdatabase() { } public virtual void opendatabase() { } public virtual void setpassword(string password) { } //connect database public virtual void connectdatabase() { } //create table public virtual void createtable(string tablename) { } //insert data public virtual void insert(string mhtlocation) { } } }
using system; using system.collections.generic; using system.text; using system.data.sqlite; using system.windows.forms; namespace toolbar { class sqlitedatabase : cspdatabase { private sqliteconnection m_conn= null; private sqlitecommand m_cmd=null; public sqlitedatabase(string dbname):base(dbname) { } public override void init() { if(m_conn == null) m_conn = new sqliteconnection(); m_cmd = new sqlitecommand(); m_cmd.connection = m_conn; } public override void createdatabase() { //create database try { sqliteconnection.createfile(m_dbname); init(); connectdatabase(); } catch (system.exception e) { messagebox.show("create database failed!"); } } public override void opendatabase() { m_conn = new sqliteconnection("data source="+m_dbname+";version=3;new=false;compress=true;"); init(); connectdatabase(); } public override void setpassword(string password) { m_password = password; } public override void connectdatabase() { //connect to database try { sqliteconnectionstringbuilder connstr = new sqliteconnectionstringbuilder(); connstr.datasource = m_dbname; if(m_password != "") connstr.password = m_password; m_conn.connectionstring = connstr.tostring(); } catch (system.exception e) { messagebox.show("fail to connect to the database"); } } //create table public override void createtable(string tablename) { try { m_tablename = tablename; m_conn.open(); string sql = "create table " + tablename + "(mhtlocation varchar(20))"; m_cmd.commandtext = sql; m_cmd.executenonquery(); m_conn.close(); } catch (system.exception e) { messagebox.show("create table failed!"); } } public override void insert(string mhtlocation) { try { //insert data m_conn.open(); string sql = "insert into [" + m_tablename + "] values('" + mhtlocation + "')"; m_cmd.commandtext = sql; m_cmd.executenonquery(); m_conn.close(); } catch (system.exception e) { messagebox.show(e.tostring()); } } } }
更多关于c#相关内容感兴趣的读者可查看本站专题:《c#程序设计之线程使用技巧总结》、《c#操作excel技巧总结》、《c#中xml文件操作技巧汇总》、《c#常见控件用法教程》、《winform控件用法总结》、《c#数据结构与算法教程》、《c#数组操作技巧总结》及《c#面向对象程序设计入门教程》
希望本文所述对大家c#程序设计有所帮助。