C# SQlite操作方法小结
本文实例分析了C#SQlite操作方法。分享给大家供大家参考,具体如下:
最近项目需求用C#保存一些数据,如此先总结一下。需要下载Sqlite库SourceForge链接网址http://sourceforge.net/projects/sqlite-dotnet2/或到官方网http://www.sqlite.org/download.html下载都可以,下载之后安装。在C#项目中添加引用引入安装目录bin中的System.Data.SQLite.dll。添加命名空间usingSystem.Data.SQLite;便可以在你的项目中
对扩平台的微型数据库SQlite进行使用了,
主要注意一点是:
数据库若未创建则使用:
SQLiteConnection.CreateFile(databaseName);
数据库已经创建,并要进行访问:
SQLiteConnectionm_conn=newSQLiteConnection("DataSource="+m_dbName+";Version=3;New=False;Compress=True;");下面是项目中封装的操作数据库代码,使用时可稍微修改便可在项目中使用。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Data.SQLite;
namespaceToolbar
{
publicclassCSPDatabase
{
protectedstringm_dbName;
protectedstringm_tablename;
protectedstringm_password;
publicCSPDatabase(stringdbName)
{
m_dbName=dbName;
m_tablename="MhtInfo";
m_password="";
}
//CreateDataBase
publicvirtualvoidInit(){}
publicvirtualvoidCreateDataBase(){}
publicvirtualvoidOpenDataBase(){}
publicvirtualvoidSetPassWord(stringpassword){}
//ConnectDataBase
publicvirtualvoidConnectDataBase(){}
//CreateTable
publicvirtualvoidCreateTable(stringtableName){}
//InsertData
publicvirtualvoidInsert(stringmhtlocation){}
}
}
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Data.SQLite;
usingSystem.Windows.Forms;
namespaceToolbar
{
classSqliteDatabase:CSPDatabase
{
privateSQLiteConnectionm_conn=null;
privateSQLiteCommandm_cmd=null;
publicSqliteDatabase(stringdbName):base(dbName)
{
}
publicoverridevoidInit()
{
if(m_conn==null)
m_conn=newSQLiteConnection();
m_cmd=newSQLiteCommand();
m_cmd.Connection=m_conn;
}
publicoverridevoidCreateDataBase()
{
//CreateDatabase
try
{
SQLiteConnection.CreateFile(m_dbName);
Init();
ConnectDataBase();
}
catch(System.Exceptione)
{
MessageBox.Show("CreateDataBaseFailed!");
}
}
publicoverridevoidOpenDataBase()
{
m_conn=newSQLiteConnection("DataSource="+m_dbName+";Version=3;New=False;Compress=True;");
Init();
ConnectDataBase();
}
publicoverridevoidSetPassWord(stringpassword)
{
m_password=password;
}
publicoverridevoidConnectDataBase()
{
//ConnecttoDataBase
try
{
SQLiteConnectionStringBuilderconnstr=newSQLiteConnectionStringBuilder();
connstr.DataSource=m_dbName;
if(m_password!="")
connstr.Password=m_password;
m_conn.ConnectionString=connstr.ToString();
}
catch(System.Exceptione)
{
MessageBox.Show("FailtoConnecttothedatabase");
}
}
//CreateTable
publicoverridevoidCreateTable(stringtableName)
{
try
{
m_tablename=tableName;
m_conn.Open();
stringsql="CREATETABLE"+tableName+"(mhtlocationvarchar(20))";
m_cmd.CommandText=sql;
m_cmd.ExecuteNonQuery();
m_conn.Close();
}
catch(System.Exceptione)
{
MessageBox.Show("CreateTableFailed!");
}
}
publicoverridevoidInsert(stringmhtlocation)
{
try
{
//InsertData
m_conn.Open();
stringsql="insertinto["+m_tablename+"]values('"+mhtlocation+"')";
m_cmd.CommandText=sql;
m_cmd.ExecuteNonQuery();
m_conn.Close();
}
catch(System.Exceptione)
{
MessageBox.Show(e.ToString());
}
}
}
}
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。