sqllite文件数据库由于轻巧而且占用内存小,并且执行的sql语句并不比较其它大型的数据库差,并且可以支持Windows/Linux/Unix等等主流的操作系统和多种程序语言相结合使用,所以利用范围比较广泛。
25亿企业网站管理系统在CMS行业中的突出特色,为了能够让系统执行更快速在某些功能方面也使用了sqllite文件数据库,现在为了让各技术人员更好的掌握25亿企业网站管理系统,现把C#连接sqllite文件数据库的通用类代码提供如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SQLite;
using System.Data.Common;
namespace CommUtils
{
public abstract class SqlLiteHelper
{
public static string ConnSqlLiteDbPath = string.Empty;
public static string ConnString
{
get
{
return string.Format(@"Data Source={0}", ConnSqlLiteDbPath);
}
}
// 取datatable
public static DataTable GetDataTable(string sSQL)
{
DataTable dt = null;
try
{
SQLiteConnection conn = new SQLiteConnection(ConnString);
conn.Open();
SQLiteCommand cmd = new SQLiteCommand();
cmd.CommandText = sSQL;
cmd.Connection = conn;
SQLiteDataAdapter dao = new SQLiteDataAdapter(cmd);
dt = new DataTable();
dao.Fill(dt);
}
catch
{
}
return dt;
}
// 执行insert,update,delete 动作,也可以使用事务
public static bool UpdateData(string sSQL,bool bUseTransaction)
{
int iResult = 0;
if (!bUseTransaction)
{
try
{
SQLiteConnection conn = new SQLiteConnection(ConnString);
conn.Open();
SQLiteCommand comm = new SQLiteCommand(conn);
comm.CommandText = sSQL;
iResult = comm.ExecuteNonQuery();
}
catch
{
iResult = -1;
}
}
else // 使用事务
{
DbTransaction trans =null;
try
{
SQLiteConnection conn = new SQLiteConnection(ConnString);
conn.Open();
trans = conn.BeginTransaction();
SQLiteCommand comm = new SQLiteCommand(conn);
comm.CommandText = sSQL;
iResult = comm.ExecuteNonQuery();
trans.Commit();
}
catch
{
iResult = -1;
trans.Rollback();
}
}
return iResult >0;
}
}
}
上述代码需要引用System.Data.SQLite,两个函数,GetDataTable(string sSQL)为获取数据存储在datatable中,UpdateData(string sSQL,bool bUseTransaction)可以执行执行insert,update,delete 动作。
UpdateData函数的使用实例:bool gwisqlitedrop = SqlLiteHelper.UpdateData("drop table " + TableName + "", true);把bUseTransaction参数设为true就可以了,或者设为flase也可以,只是执行不同的代码,但是结果是一样的。
作者: 网站设计@ 企业网站管理系统
原载: 25亿企业网站管理系统
版权所有。转载时必须以链接形式(http://www.25yi.com/sql/sqllitetongyong-287/)注明作者和原始出处及本声明。