SQLite是一個輕量級的嵌入式關系型數據庫管理系統,它以庫的形式提供服務,不需要單獨的服務器進程,操作簡單且功能強大。
SQLite核心特點:
SQLite適用場景:
移動應用(iOS/Android)本地存儲
嵌入式設備和物聯網應用
桌面應用程序數據存儲
中小型網站數據庫
應用程序緩存
數據分析原型開發
測試環境數據庫
以下為SQLite基礎運用方法:增、刪、改、查實例:
using System.Data.SQLite;
string DbConnectionString = "Data Source=SQLite數據庫路徑;Version=3;password= ";
bool RetState = GetConnnectState();
DataTable dt = GetDataTable(SelectSqlStr);
string SqlStr = "添加、更新、刪除SQL命令";
int RetNum = ExecuteSqlTran(SqlStr);
public bool GetConnnectState()
{
bool RetState = false;
try
{
if (DbConnectionString == "") return false;
using (SQLiteConnection connection = new SQLiteConnection(DbConnectionString))
{
if (connection.State != ConnectionState.Open)
{
connection.Open();
}
if (connection.State == ConnectionState.Open)
{
RetState = true;
}
}
}
catch (Exception)
{
RetState = false;
}
return RetState;
}
public DataTable GetDataTable(string sql)
{
DataSet ds = new DataSet();
try
{
using (SQLiteConnection connection = new SQLiteConnection(DbConnectionString))
{
connection.Open();
using (SQLiteCommand command = new SQLiteCommand(sql, connection))
{
using (SQLiteDataAdapter adapter = new SQLiteDataAdapter(command))
{
try
{
adapter.Fill(ds, szTableName);
adapter.Dispose();
command.Dispose();
connection.Dispose();
}
catch (Exception)
{
adapter.Dispose();
command.Dispose();
connection.Dispose();
}
}
}
}
}
catch (Exception ex)
{
return null
}
if (ds == null) return null;
return ds.Tables[0];
}
public int ExecuteSqlTran(string SQLString)
{
int rows = 0;
using (MySqlConnection conn = new MySqlConnection(DbConnectionString))
{
if (conn.State != ConnectionState.Open) conn.Open();
using (MySqlTransaction transaction = conn.BeginTransaction())
{
using (MySqlCommand cmd = conn.CreateCommand())
{
try
{
cmd.Transaction = transaction;
cmd.CommandText = SQLString;
cmd.CommandTimeout = 5 * 1000 * 60;
rows = cmd.ExecuteNonQuery();
transaction.Commit();
cmd.Dispose();
conn.Dispose();
}
catch (Exception ex)
{
transaction.Rollback();
cmd.Dispose();
conn.Dispose();
}
}
}
}
return rows;
}
該文章在 2025/8/8 12:56:03 編輯過