<返主目录 ▕▏ C#基础库 WjwLibs: V5.0.5▕▏帮助文档 : SQLite数据库处理 ▕▏ 编译日期: 2024-09-17▕▏ Email: wujwmail@163.com
##类-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()