<返主目录 ▕▏C#基础库 WjwLibs: V5.0.1▕▏帮助文档 : SQLite数据库处理 ▕▏ 编译日期: 2022-10-19▕▏ Email: wujwmail@163.com

〖SQLite数据库处理〗 /wjw_cs.net/WjwLibs/wjw/WjwSqlite.cs


类-1.名称: WjwSqlite ▕→ SQLite数据库类

命名空间: WjwLibs
所属类: WjwLibs.WjwSqlite : IDisposable
说明: 
    SQLite数据库类
   建立数据库或用本类的DDL函数时将自动生成三个内部表(_tab,_row,_col)来用于记录数据库表,行及列的摘要数据
定义: 
    public class WjwSqlite : IDisposable

属性名称: DEBUG ▕→ 是否调试运行

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     是否调试运行
 定义: 
     public bool DEBUG = false;

属性名称: NowRowsCount ▕→ 当前查询结果行数

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     当前查询结果行数
 定义: 
     public long NowRowsCount = 0;

属性名称: NowColsCount ▕→ 当前查询结果列数

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     当前查询结果列数
 定义: 
     public int NowColsCount = 0;

属性名称: WinPathLog ▕→ windows端日志目录

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     windows端日志目录
 定义: 
     public string WinPathLog = @"D:\wjwlibs_cs\sqlite";

属性名称: UnixPathLog ▕→ Unix/Linux端日志目录

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     Unix/Linux端日志目录
 定义: 
     public string UnixPathLog = @"/var/wjwlibs_cs/sqlite";

属性名称: DbFile ▕→ 数据库文件名

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     数据库文件名
 定义: 
     public string DbFile = "";

属性名称: DbConn ▕→ 数据库连接对象

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     数据库连接对象
 定义: 
     public SqliteConnection DbConn = null;

方法名称: WjwSqlite ▕→ 构造器

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     构造器
 参数: 
     dbFile : 数据库文件名,为null时为内存数据库
 定义: 
     public WjwSqlite(string dbFile = null)

方法名称: CreateNoteTab ▕→ 建摘要表(_tab,_row,_col)

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     建摘要表(_tab,_row,_col)
 定义: 
     public void CreateNoteTab()

方法名称: DbConnect ▕→ 连接数据库

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     连接数据库
 参数: 
     connString : "Data Source=Dbfile"
 返回: 
 定义: 
     public SqliteConnection DbConnect(string connString)

方法名称: SqlCol ▕→ 查询一列

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     查询一列
 参数: 
     sql : SQL语句
 返回: 
     失败返null
 定义: 
     public string SqlCol(string sql)

方法名称: SqlRowExists ▕→ 测试select是否有数据行

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     测试select是否有数据行
 返回: 
     SQL语句
 定义: 
     public bool SqlRowExists(string sql)

方法名称: SqlExe ▕→ 执行一个数据库命令

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     执行一个数据库命令
 参数: 
     sql : SQL语句
 返回: 
     影响的记录数
 定义: 
     public int SqlExe(string sql)

方法名称: SqlEachCB ▕→ SELECT查询回调器,以精细的处理数据行

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     SELECT查询回调器,以精细的处理数据行
 参数: 
     sql : SQL语句
     cb : 回调函数:
         参数-sqliteDataReader对象
         返回-假结束循环
 定义: 
     public void SqlEachCB(string sql, Predicate<SqliteDataReader> cb)

方法名称: SqlRow ▕→ 查询一行

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     查询一行
 参数: 
     sql : SQL语句
 返回: 
     1个首行的列数组
 定义: 
     public Dictionary<string, string> SqlRow(string sql)

方法名称: SqlRows ▕→ 查询多行

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     查询多行
 参数: 
     sql : SQL语句
 返回: 
     字典数组
 定义: 
     public Dictionary<string, string>[] SqlRows(string sql)

方法名称: GetLogFile ▕→ 获得系统日志文件

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     获得系统日志文件
 参数: 
     isError : 是否是错误日志
 返回: 
     日志文件
 定义: 
     public string GetLogFile(bool isError = false)

方法名称: ToLog ▕→ 输出运行日志

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     输出运行日志
 参数: 
     mess : 消息
 定义: 
     public void ToLog(string mess)

方法名称: ToErr ▕→ 输出错误日志

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     输出错误日志
 参数: 
     mess : 消息
 定义: 
     public void ToErr(string mess)

方法名称: SqlEach ▕→ 获得SELECT查询迭代器

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     获得SELECT查询迭代器
 参数: 
     sql : SQL语句
 返回: 
 定义: 
     public WjwSqliteEach SqlEach(string sql)

方法名称: DbBegin ▕→ 开始事务

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     开始事务
 返回: 
     事务对象
 定义: 
     public SqliteTransaction DbBegin()

方法名称: DbEnd ▕→ 结束事务

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     结束事务
 参数: 
     tran : 事务对象
 定义: 
     public void DbEnd(SqliteTransaction tran)

方法名称: DbCommit ▕→ 提交事务

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     提交事务
 参数: 
     tran : 事务对象
 定义: 
     public void DbCommit(SqliteTransaction tran)

方法名称: DbRollBack ▕→ 回滚事务

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     回滚事务
 参数: 
     tran : 事务对象
 定义: 
     public void DbRollBack(SqliteTransaction tran)

方法名称: GetNowAutoKey ▕→ 当前的insert命令后的自动增量值

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     当前的insert命令后的自动增量值
 返回: 
     当前增量值
 定义: 
     public string GetNowAutoKey()

方法名称: GetMainKeys ▕→ 取表的主关键字数组

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     取表的主关键字数组
 参数: 
     tableName : 表名
 返回: 
     数组(自动增量关键字前加@)
 定义: 
     public string[] GetMainKeys(string tableName)

方法名称: SqlUpsert ▕→ 执行记录自动插入与更新

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     执行记录自动插入与更新
 参数: 
     tabName : 表名
     fdArr : 字段键值对(字典或csv[,[=:]]串)
 返回: 
     失败:0, 新增:正数,更新:负数
 定义: 
     public int SqlUpsert(string tabName, IEnumerable fdArr)

方法名称: GetHead ▕→ 获得表头

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     获得表头
 参数: 
     tableName : 表名(或csv列表)
     refarm : 值返回格式:
         kn键名,kl列长,
         ks类型char,kt类型char(16)
         kd缺省值,k-: 空值数组
 返回: 
     数组
 定义: 
     public Dictionary<string, string> GetHead(string tableName, string refarm = "kt")

方法名称: SqlMxml ▕→ mxml查询

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     mxml查询
 参数: 
     sql : SQL语句(支持多个子查询及as语句)
     noteArr : 字段的名称字典
     viewFdList : 标记可视字段列表
     editFdList : 标记可编辑字段列表
 返回: 
     XML格式字串
 定义: 
     public string SqlMxml(string sql,Dictionary<string,string> noteArr=null, IEnumerable viewFdList = null, IEnumerable editFdList = null)

方法名称: SelectParse ▕→ sql语句解析数据列名表名

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     sql语句解析数据列名表名
 参数: 
     sql : select的SQL语句
 返回: 
     [fdnames]列名列表,[tabnames](排序后)表名列表
 定义: 
     public Dictionary<string, List<string>> SelectParse(string sql)

方法名称: ExistsTable ▕→ 测试表是否存在

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     测试表是否存在
 参数: 
     tableName : 表名
 返回: 
     true/false
 定义: 
     public bool ExistsTable(string tableName)

方法名称: ExistsCol ▕→ 判断字段名是否是表中的列

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     判断字段名是否是表中的列
 参数: 
     tableName : 表名
     colName : 列
 返回: 
     真/假
 定义: 
     public bool ExistsCol(string tableName, string colName)

方法名称: WriteTableNote ▕→ DDL摘要写入表名

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     DDL摘要写入表名
 参数: 
     tabCode : 表代号名
     tabName : 表摘要名
 返回: 
     成功/失败
 定义: 
     public bool WriteTableNote(string tabCode,string tabName)

方法名称: WriteColNote ▕→ DDL摘要写入列名键值对

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
      DDL摘要写入列名键值对
 参数: 
     tabCode : 表代号名
     kvs : 列名键值对
 返回: 
 定义: 
     public bool WriteColNote(string tabCode, IEnumerable kvs)

方法名称: GetCreateTableSql ▕→ 导出指定表的SQL建表语句

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqlite : IDisposable
 说明: 
     导出指定表的SQL建表语句
 参数: 
     tabName : 表名
 返回: 
     DDL-SQL
 定义: 
     public string GetCreateTableSql(string tabName)

类-2.名称: WjwSqliteEach ▕→ sqlite查询迭代器

命名空间: WjwLibs
所属类: WjwLibs.WjwSqliteEach
说明: 
    sqlite查询迭代器
定义: 
    public class WjwSqliteEach

属性名称: NowColsCount ▕→ 当前查询结果列数(迭代时有效)

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqliteEach
 说明: 
     当前查询结果列数(迭代时有效)
 定义: 
     public long NowColsCount = 0;

方法名称: WjwSqliteEach ▕→ sqlite查询迭代器构造器

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqliteEach
 说明: 
     sqlite查询迭代器构造器
 参数: 
     dbConn : 数据库连接对象
     sql : SQL语句
 定义: 
     public WjwSqliteEach(SqliteConnection dbConn, string sql)

方法名称: GetEnumerator ▕→ 迭代器

 命名空间: WjwLibs
 所属类: WjwLibs.WjwSqliteEach
 说明: 
     迭代器
 返回: 
 定义: 
     public IEnumerator<Dictionary<string, string>> GetEnumerator()