WPF EF SQLite

通过 Nuget 下载对应的包

 

 

 

 

下载完之后带上依赖一共有这么几个:

  1. EntityFramework
  2. System.Data.SQLite
  3. System.Data.SQLite.Core
  4. System.Data.SQLite.EF6
  5. System.Data.SQLite.Linq

 下载SQLite工具,点检下载

 连接SQLite数据库:

SQLiteConnection _connection;
/// <summary>
/// SQLite连接
/// </summary>
SQLiteConnection connection
{
    get
    {
        if (_connection == null)
        {
            _connection = new SQLiteConnection(string.Format("Data Source={0}/DB/DB.db3;Version=3;", AppDomain.CurrentDomain.SetupInformation.ApplicationBase));
            _connection.Open();
        }
        return _connection;
    }
}

/// <summary>
/// SQLite增删改
/// </summary>
/// <param name="sql">要执行的sql语句</param>
/// <param name="parameters">所需参数</param>
/// <returns>所受影响的行数</returns>
int ExecuteNonQuery(string sql, SQLiteParameter[] parameters)
{
    int affectedRows = 0;

    DbTransaction transaction = connection.BeginTransaction();
    SQLiteCommand command = new SQLiteCommand(connection);
    command.CommandText = sql;
    if (parameters != null)
    {
        command.Parameters.AddRange(parameters);
    }
    affectedRows = command.ExecuteNonQuery();
    transaction.Commit();

    return affectedRows;
}

/// <summary>
/// SQLite查询
/// </summary>
/// <param name="sql">要执行的sql语句</param>
/// <param name="parameters">所需参数</param>
/// <returns>结果DataTable</returns>
DataTable ExecuteDataTable(string sql, SQLiteParameter[] parameters)
{
    DataTable data = new DataTable();

    SQLiteCommand command = new SQLiteCommand(sql, connection);
    if (parameters != null)
    {
        command.Parameters.AddRange(parameters);
    }
    SQLiteDataAdapter adapter = new SQLiteDataAdapter(command);
    adapter.Fill(data);

    return data;
}

/// <summary>
/// 查询数据库表信息
/// </summary>
/// <returns>数据库表信息DataTable</returns>
DataTable GetSchema()
{
    DataTable data = new DataTable();

    data = connection.GetSchema("TABLES");

    return data;
}

  

调用,示例:

SQLiteParameter[] parameters = new SQLiteParameter[] { };
ExecuteDataTable("select * from table", parameters);

  

posted @ 2022-04-01 14:08  microsoft-zhcn  阅读(283)  评论(0)    收藏  举报