vs2010 本身 有appconfig 配置方面的类,闲来无事,正好最近正在看System.Data.SQLite.dll,所以就有了本篇文章。
首先要用到 sqlite3.dll 这个动态库文件可以到网上去下载,百度一搜会有很多所以,这里就不提供现在地址了。
下面就将实现的例程贴出来供大家指正:
1、创建一个新的项目,选择Windows 窗体应用程序,如下图所示:
2、接下来在项目中引用下载的System.Data.SQLite.dll
3、在项目中添加一个类,名称为:SqliteHelper 。本类是在网上搜集到的,忘记了出处,仅在此处贴出源码,如下:
class SqliteHelper
{
private string connStr = "";
public SqliteHelper(string dbName, bool isFullPath)
{
if (isFullPath)
{
connStr = @"Data Source=" + dbName + ";Initial Catalog=sqlite;Integrated Security=True;Max Pool Size=10";
}
else
{
connStr = @"Data Source=" + System.Environment.CurrentDirectory + "\\" + dbName + ";Initial Catalog=sqlite;Integrated Security=True;Max Pool Size=10";
}
}
/// <summary>
/// 功能: 创建数据库,带路径
/// [2011-10-24 14:16 Bee]<para />
/// </summary>
/// <param name="dbName"></param>
public void CreateDB(string dbName, bool isFullPath)
{
if (isFullPath)
{
if (!File.Exists(dbName))
{
SQLiteConnection.CreateFile(dbName);
}
}
else
{
if (!File.Exists(System.Environment.CurrentDirectory + "\\" + dbName))
{
SQLiteConnection.CreateFile(System.Environment.CurrentDirectory + "\\" + dbName);
}
}
}
/// <summary>
/// 功能: 执行sql,不返回
/// [2011-10-24 14:15 Bee]<para />
/// </summary>
/// <param name="sqlStr">要执行的sql</param>
public void ExecuteSql(string sqlStr)
{
using (SQLiteConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
DbCommand comm = conn.CreateCommand();
comm.CommandText = sqlStr;
comm.CommandType = CommandType.Text;
comm.ExecuteNonQuery();
}
}
/// <summary>
/// 功能: 执行sql语句数组
/// [2011-10-24 14:54 Bee]<para />
/// </summary>
/// <param name="sqlStr"></param>
public void ExecuteSqlList(string[] sqlStr)
{
using (SQLiteConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
SQLiteCommand comm = conn.CreateCommand();
foreach (string item in sqlStr)
{
comm.CommandText = item;
comm.CommandType = CommandType.Text;
comm.ExecuteNonQuery();
}
}
}
/// <summary>
/// 功能: 执行sql返回deteset
/// [2011-10-24 14:15 Bee]<para />
/// </summary>
/// <param name="sqlStr"></param>
/// <returns></returns>
public DataSet ExecDataSet(string sqlStr)
{
using (SQLiteConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
SQLiteCommand cmd = conn.CreateCommand();
cmd.CommandText = sqlStr;
cmd.CommandType = CommandType.Text;
DbDataAdapter da = new SQLiteDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
public object ExecDataAdp(string sqlStr)
{
using (SQLiteConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
SQLiteCommand cmd = conn.CreateCommand();
cmd.CommandText = sqlStr;
cmd.CommandType = CommandType.Text;
object var = cmd.ExecuteScalar();
return var;
}
}
/// <summary>
/// 功能:根据提供的表,返回表的所有列的结果集
/// </summary>
/// <param name="tbname"></param>
/// <returns></returns>
public DataSet ExecuteDataSet(string tbname)
{
DataSet ds = new DataSet();
string Strsql = "select * from " + tbname;
ds = ExecDataSet(Strsql);
return ds;
}
/// <summary>
/// 功能: 判断表是否存在
/// [2011-10-24 14:14 Bee]<para />
/// </summary>
/// <param name="tableName"></param>
/// <returns>存在不存在</returns>
public bool IsTableExist(string tableName)
{
using (SQLiteConnection connection = new SQLiteConnection(connStr))
{
connection.Open();
using (SQLiteCommand command = new SQLiteCommand(connection))
{
command.CommandText = "SELECT COUNT(*) FROM sqlite_master where type='table' and name='" + tableName + "'";
int iaaa = Convert.ToInt32(command.ExecuteScalar());
if (Convert.ToInt32(command.ExecuteScalar()) == 0)
{
return false;
}
else
{
return true;
}
}
}
}
}