今天,試用了一下SQLite資料庫,並簡單地進行了一下資料表記錄增、刪、修改的編程測試,現將試用過程記錄如下:
1、安裝SQLite資料庫
所謂的安裝很簡單,登陸http://www.sqlite.org/網站,下載SQLite資料庫(目前最新版本為3.6.3)的ZIP壓縮包,解壓到指定目錄,開啟目錄可以發現一個名稱為sqlite3.exe的可執行檔,運行該檔案可以通過命令列方式建立、管理SQLite類型的資料庫(見)。詳細的可用命令清單可以通過運行【.help】命令查詢,每個命令的具體功能可查閱相關協助文檔,這裡就不具體介紹了。
2、可視化的SQLite資料庫管理工具
管理SQLite資料庫除命令列外,網路上還有很多開源的可視化的SQLite資料庫管理工具,登陸https://sourceforge.net/或者通過其他搜尋引擎(GOOOGLE/BAIDU),輸入【SQLite】可以找到一大片相關工具,比如,SQLite Database Browser、SQLite Administrator... 等等。試用了幾個,比較而言,個人比較喜歡SQLite Administrator,該工具介面支援簡體中文、介面比較簡潔、資料庫相關管理操作相對比較簡便,該工具可以登陸http://sqliteadmin.orbmu2k.de/下載,以下是該工具的一個。
3、在Visual studio 2005下使用SQLite資料庫
登陸http://sqlite.phxsoftware.com/下載最新版的ADO.NET 2.0 Provider for SQLite,下載解壓縮後為一個安裝包。點擊安裝後,可在安裝目錄下發現System.Data.SQLite.dll檔案,同時在安裝過程中該DLL檔案也會自動註冊到Visual studio 2005,可為開發環境引用(見圖)。
在Visual studio 2005選擇C#語言,建立新的項目SQLiteView,主介面參見下面的。該項目實現了對SQLite資料庫的資料表的資料記錄的瀏覽、新增、修改和刪除操作功能。
資料庫訪問類DataAccess的代碼:
using System;
using System.Data;
using System.Data.SQLite;
namespace SQLiteView
{
class DataAccess
{
SQLiteConnection con ;
SQLiteCommand command;
public DataAccess()
{
con = new SQLiteConnection("Data Source=test.db3");//test.db3位於debug目錄下
command = con.CreateCommand();
}
//讀取資料
public DataTable ReadTable(string tableName)
{
command.CommandText = "SELECT * FROM " + tableName;
SQLiteDataAdapter da = new SQLiteDataAdapter(command);
DataTable dt = new DataTable(tableName);
da.Fill(dt);
return dt;
}
//修改資料表
public bool UpdateTable(DataTable srcTable, string tableName)
{
bool isok = false;
try
{
command.CommandText = "SELECT * FROM " + tableName;
SQLiteDataAdapter oda = new SQLiteDataAdapter(command);
SQLiteCommandBuilder ocb = new SQLiteCommandBuilder(oda);
oda.InsertCommand = ocb.GetInsertCommand();
oda.DeleteCommand = ocb.GetDeleteCommand();
oda.UpdateCommand = ocb.GetUpdateCommand();
oda.Update(srcTable);
isok = true;
}
catch (Exception ex)
{}
return isok;
}
}
}
相關RIDU操作方法的代碼如下:
//重新整理資料來源
private void RefreshTable()
{
this.dataGridView1.DataSource = dba.ReadTable("testone");
}
//更新資料來源
private void UpdateTable(DataTable dt)
{
if (dt != null)
{
if (dba.UpdateTable(dt, "testone"))
{
RefreshTable();
MessageBox.Show("OK");
}
else
MessageBox.Show("Failed");
}
}
//瀏覽
private void button1_Click(object sender, EventArgs e)
{
RefreshTable();
}
//新增、修改
private void button2_Click(object sender, EventArgs e)
{
DataTable dt = this.dataGridView1.DataSource as DataTable;
UpdateTable(dt);
}
//刪除
private void button3_Click(object sender, EventArgs e)
{
DataTable dt = this.dataGridView1.DataSource as DataTable;
DataRowView rowview = this.dataGridView1.CurrentRow.DataBoundItem as DataRowView;
if (rowview != null)
{
rowview.Row.Delete();
UpdateTable(dt);
}
}
通過試用 ,初步感覺SQLite資料庫對SQL語言的支援也不錯、有相關不俗實力的支援人員(Team Dev、社區、論壇)、運行速度較快、普遍關注程度較高、夠輕量級...,其中夠輕量級是其最大的優點和亮點。
共用這篇簡單的試用手記,希望能吸引大家對SQLite資料庫的關注,同時也希望能給予初次使用 SQLite資料庫的朋友以協助。謝謝!
附源碼下載:/Files/ysxlh/SQLiteView.rar