zoukankan      html  css  js  c++  java
  • SqlLiteHelper:基于C#的SqlLite数据库访问基类

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Web;
    using System.Configuration;
    using System.Data;
    using System.Data.SQLite;
    namespace DAL
    {
    public class Sqlite
    {
    /// <summary>
    /// 获得连接对象
    /// </summary>
    /// <returns></returns>
    public static SQLiteConnection GetSQLiteConnection()
    {
    return new SQLiteConnection("Data Source=" + System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["db"].ToString()));
    }
    private static void PrepareCommand(SQLiteCommand cmd, SQLiteConnection conn, string cmdText, params object[] p)
    {
    if (conn.State != ConnectionState.Open)
    conn.Open();
    cmd.Parameters.Clear();
    cmd.Connection = conn;
    cmd.CommandText = cmdText;
    cmd.CommandType = CommandType.Text;
    cmd.CommandTimeout = 30;
    if (p != null)
    {
    foreach (object parm in p)
    cmd.Parameters.AddWithValue(string.Empty, parm);
    //for (int i = 0; i < p.Length; i++)
    // cmd.Parameters[i].Value = p[i];
    }
    }
    public static DataSet ExecuteDataset(string cmdText, params object[] p)
    {
    DataSet ds = new DataSet();
    SQLiteCommand command = new SQLiteCommand();
    using (SQLiteConnection connection = GetSQLiteConnection())
    {
    PrepareCommand(command, connection, cmdText, p);
    SQLiteDataAdapter da = new SQLiteDataAdapter(command);
    da.Fill(ds);
    }
    return ds;
    }
    public static DataRow ExecuteDataRow(string cmdText, params object[] p)
    {
    DataSet ds = ExecuteDataset(cmdText, p);
    if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
    return ds.Tables[0].Rows[0];
    return null;
    }
    /// <summary>
    /// 返回受影响的行数
    /// </summary>
    /// <param name="cmdText">a</param>
    /// <param name="commandParameters">传入的参数</param>
    /// <returns></returns>
    public static int ExecuteNonQuery(string cmdText, params object[] p)
    {
    SQLiteCommand command = new SQLiteCommand();
    using (SQLiteConnection connection = GetSQLiteConnection())
    {
    PrepareCommand(command, connection, cmdText, p);
    return command.ExecuteNonQuery();
    }
    }
    /// <summary>
    /// 返回SqlDataReader对象
    /// </summary>
    /// <param name="cmdText"></param>
    /// <param name="commandParameters">传入的参数</param>
    /// <returns></returns>
    public static SQLiteDataReader ExecuteReader(string cmdText, params object[] p)
    {
    SQLiteCommand command = new SQLiteCommand();
    SQLiteConnection connection = GetSQLiteConnection();
    try
    {
    PrepareCommand(command, connection, cmdText, p);
    SQLiteDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
    return reader;
    }
    catch
    {
    connection.Close();
    throw;
    }
    }
    /// <summary>
    /// 返回结果集中的第一行第一列,忽略其他行或列
    /// </summary>
    /// <param name="cmdText"></param>
    /// <param name="commandParameters">传入的参数</param>
    /// <returns></returns>
    public static object ExecuteScalar(string cmdText, params object[] p)
    {
    SQLiteCommand cmd = new SQLiteCommand();
    using (SQLiteConnection connection = GetSQLiteConnection())
    {
    PrepareCommand(cmd, connection, cmdText, p);
    return cmd.ExecuteScalar();
    }
    }
    /// <summary>
    /// 分页
    /// </summary>
    /// <param name="recordCount"></param>
    /// <param name="pageIndex"></param>
    /// <param name="pageSize"></param>
    /// <param name="cmdText"></param>
    /// <param name="countText"></param>
    /// <param name="p"></param>
    /// <returns></returns>
    public static DataSet ExecutePager(ref int recordCount, int pageIndex, int pageSize, string cmdText, string countText, params object[] p)
    {
    if (recordCount < 0)
    recordCount = int.Parse(ExecuteScalar(countText, p).ToString());
    DataSet ds = new DataSet();
    SQLiteCommand command = new SQLiteCommand();
    using (SQLiteConnection connection = GetSQLiteConnection())
    {
    PrepareCommand(command, connection, cmdText, p);
    SQLiteDataAdapter da = new SQLiteDataAdapter(command);
    da.Fill(ds, (pageIndex - 1) * pageSize, pageSize, "result");
    }
    return ds;
    }
    }
    }
  • 相关阅读:
    vue 中按需引入 echarts
    [Vue warn]: Error in nextTick: "TypeError: Cannot read property 'init' of undefined"
    js计算图片大小(promise)
    git push 提示'You are not allowed to push code to this project'
    echarts canvas 层级太高 导致tooltip被遮盖
    卡片展示(不定宽),最后一行左对齐 的几种实现方式
    styled-components 使用小结
    echarts 平均值及 y轴刻度n等分配置
    react 中使用阿里彩色图标
    php unlink()函数使用
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2555413.html
Copyright © 2011-2022 走看看