C# 操作 SQLite 数据库运用
|
2025年8月7日 14:51
本文热度 11
|
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 编辑过