文章
· 十二月 27, 2023 阅读大约需 2 分钟

百讲知识点索引

百讲知识点索引

简介

  • B站已更新截止到2023.12.31之前的所有百讲课程,总计261讲。
  • 什么是百讲?百讲是一个主要介绍IRISCache编程知识的免费课程。
  • 课程的特点是,将每一个知识点,都会用示例演示出来、了解原理,而不是仅仅告诉有这个功能。
  • 每周一期,每期会请到有多年开发经验的老师来给大家讲解课程。
  • 百讲观看地址:https://www.bilibili.com/video/BV1cw41147xr/

在这里插入图片描述

知识点索引

  • 1IRIS ObjectScript 简介
    • ObjectScript 特点
  • 2讲 初识ObjectScript程序

    • 概述
    • 变量
    • 支持几种变量
    • 表达式
    • 函数
  • 3讲 语法规则

    • 区分大小写
    • 空格
    • 不需要空格
    • 需要空格
    • 注释
    • 字面常量
    • 标识符
    • 标签
  • 4讲 数据类型 - 字符串
  • 5讲 数据类型 - 位串
  • 6讲 数据类型 - 数字

    • 数字字符串
    • 科学记数法
    • 符号配置
    • 规范数字
    • 混合数字
    • 小数
    • 最大数
  • 7讲 数据类型 - 对象
  • 8讲 数据类型 - 布尔
  • 9讲 数据类型 - 日期
  • 10讲 变量

    • 局部变量
    • 百分比变量
    • ProcedureBlock使用
    • 进程私有Global
    • 使用^GETPPGINFO
    • 全局变量Global
    • 数组变量
    • 变量类型和转换
    • 使用#Dim定义变量类型
  • 11讲 运算符 - 逻辑运算符

    • 运算符符号表
    • 运算符优先级
    • 逻辑比较运算符
    • 逻辑表达式
    • Not运算符(')
  • 12讲 运算符 - 算术运算符

    • 一元运算符
    • 加法运算符(+)
    • 减法运算符(-)
    • 乘法运算符(*)
    • 除法运算符(/)
    • 求幂运算符(**)
    • 整除运算符(\)
    • 取余运算符(#
  • 13讲 关系运算符

    • 数值关系运算符
    • 小于<
    • 大于>
    • 大于等于>=
    • 小于等于<=
    • 字符串关系运算符
    • 等于=
    • 不等于'=
    • 包含[
    • 不包含'[
    • 跟随]
    • 不跟随']
    • 排序]]
    • 非排序']]
  • 14讲 运算符 - 模式匹配

    • 模式代码
    • 模式可以出现的次数
    • 多组模式
    • 组合模式
    • 交替模式
    • 使用不完整的模式
    • 多重模式解释
    • 非模式匹配运算符
    • 模式复杂性
  • 15讲 运算符 - 间接寻址

    • 名称间接寻址
    • 模式匹配间接寻址
    • 参数间接寻址
    • 下标间接寻址
    • $TEXT参数间接寻址
  • 16讲 命令梗概

    • 通用概念
    • 命令后置条件表达式
  • 17讲 命令 - 赋值命令

    • Set命令
    • Kill命令
    • 使用参数传递对KILL影响
    • Zkill命令
    • New命令
    • Merge命令
  • 18讲 命令 - 条件命令

    • ifelseifelse命令
    • IF中使用QUIT
    • IF中使用GOTO
  • 19讲 命令 - 循环命令

    • For命令
    • while命令
    • Do While命令
  • 20讲 命令 - 退出命令

    • Continue命令
    • Quit命令
    • Retrun命令
  • 21讲 命令 - 输出命令

    • WRITE命令
    • 有参数WRITE
    • 无参数WRITE
    • ZWRITE命令
    • ZZDUMP命令
    • ZZWRITE命令
    • WRITEZWRITEZZDUMPZZWRITE异同
  • 22讲 命令 - 调用命令

    • Do命令
  • 23讲 命令 - 调用命令 - JOB
  • 24讲 命令 - 调用命令 - JOB - 使用多进程
  • 25讲 命令 - 调用命令 - JOB - 消息队列
  • 26讲 命令 - 调用命令 - XECUTE命令
  • 27讲 命令 - 调用命令 - GOTO命令
  • 28讲 方法 - 方法概念

    • Routines
    • Subroutines
    • Functions
    • Label
    • Procedures
    • Methods
    • ClassMethods
    • SystemFunctions
    • Program
    • 简单区别
  • 29讲 参数 - 参数传递

    • 按值传递
    • 按引用传递
    • 可变参数
  • 30讲 嵌入式代码

    • 嵌入式HTML
    • &html标记语法
    • 嵌入式JavaScript
    • 嵌入式SQL
  • 31讲 多维数组

    • 什么是多维数组
    • 多维树形结构
    • 稀疏多维存储
    • 多维数组的设置
    • 操作多维数组
    • 多维数组,进程全局变量,全局变量效率对比
  • 32讲 系统函数梗概
  • 33讲 分隔函数 $PIECE

    • 两种用法
    • 使用SET $PIECE替换子字符串
  • 34讲 截取函数 $EXTRACT

    • 两种用法
    • 使用SET $EXTRACT替换子字符串
    • DTM模式下的$EXTRACT
  • 35讲 长度函数 $LENGTH,对齐函数 $JUSTIFY,查找函数 $FIND,反转函数 $REVERSE
  • 36讲 转换函数 $ZCONVERT
  • 37讲 替换函数 $REPLACE$TRANSLATE$CHANGE

    • 比较$CHANGE$REPLACE$TRANSLATE函数
  • 38讲 数组函数 - $LISTBUILD

    • SET $LISTBUILD
  • 39讲 数组函数 - $LIST

    • $List错误情况
    • 使用SET $LIST替换元素
  • 40$LIST$EXTRACT$PIECE区别
  • 41讲 数组函数 - $LISTDATA
  • 42讲 数组函数 - $LISTFIND
  • 43讲 数组函数 - $LISTGET
  • 44讲 数组函数 - $LISTLENGTH
  • 45讲 数组函数 - $LISTNEXT
  • 46讲 效率 - 对比遍历取值$LISTDATA$LIST,$LISTGET,$LISTNEXT
  • 47讲 数组函数 - $LISTSAME
  • 48讲 数组函数 - $LISTFROMSTRING,$LISTTOSTRING
  • 49讲 数组函数 - $LISTUPDATE
  • 50讲 数组函数 - $LISTVALID
  • 51讲 示例 - 结合所有列表函数 - 总结
  • 52讲 正则表达式

    • 通配符
    • 限定符
    • 字符组区间
    • 特殊字符
    • 取反
    • 单字母字符类型
    • 字词边界
    • 字符串开始或结束
    • 分组
  • 53讲 正则表达式函数 - $MATCH

    • Unicode属性字符类型
    • POSIX字符类型
    • 分组构造
    • 字符边界
    • 十六进制表示法
    • 八进制表示法
    • Unicode表示法
    • 汉字 Unicode 编码范围
    • 控制字符表示法
    • 符号表示法
    • 模式
    • Case模式
    • 单行模式
    • 文本模式
    • 注解
    • 行内注释
    • 行末注释
    • 错误信息
  • 54讲 正则表达式函数 - $LOCATE
  • 55讲 正则表达式函数 - $ZSTRIP
  • 56讲 正则表达式类 - %Regex.Matcher
  • 57讲 对比 MATCHLOCATEZSTRIP%Regex.Matcher异同
  • 58讲 什么是宏?宏的简单使用

    • 什么是宏?
    • 宏命名规范
    • 宏的空格规范
    • 宏的简单使用
  • 59讲 .inc文件的使用

    • 如何创建inc文件
    • 如何引用外部宏
  • 60讲 宏预处理器 - 定义指令 - #Def1Arg#Define#Dim##Continue
  • 61讲 宏预处理器 - 条件指令 - #If#ElseIf#Else#EndIf#IfDef#IfNDef#UnDef
  • 62讲 宏预处理器 - 编译指令 - #Execute##Expression##SafeExpression##Function##Lit

    • 异同
  • 63讲 宏预处理器 - SQL指令 - #Import#SQLCompile Audit#SQLCompile Mode#SQLCompile Path#SQLCompile Select##SQL

    • #Import#SQLCompile 区别
  • 64讲 宏预处理器 - 其他指令 - #Include#Show#NoShow#;##;##Quote##Unique
  • 65讲 使用系统宏

    • %occStatus.inc内的宏
  • 66讲 如何使用 %Status 数据类型
  • 67讲 锁 - LOCK命令

    • 什么是锁?
    • 怎么实现这个锁?
    • 锁的分类
    • LOCK 命令
    • 参数
  • 68讲 锁 - LOCK 命令的两种基本形式

    • LOCK命令的两种基本形式
    • 不带参数的锁
    • 有参数锁
  • 69讲 锁 - 独占锁
  • 70讲 锁 - 共享锁
  • 71讲 锁 - 升级锁
  • 72讲 锁 - 立即解锁
  • 73讲 锁 - 延迟解锁
  • 74讲 锁 - 增量锁
  • 75讲 锁 - 锁类型总结
  • 76讲 锁 - ^$LOCK 结构化系统变量
  • 77讲 锁 - 使用Portal管理锁

    • 查看锁表
    • 使用锁表删除锁
    • 其他方式删除锁
  • 78讲 锁 - 使用^LOCKTAB实用程序

    • 输入"?",显示帮助信息:
    • 使用命令D删除一个锁。
    • 使用命令J删除进程中的所有锁。
    • 使用命令C删除系统中的所有锁。
    • 使用命令A删除所有锁。
  • 79讲 锁 - 等待锁

    • 多进程父子节点加锁
    • 多进程父子节点加锁顺序
  • 80讲 锁 - 死锁

    • 什么是死锁
    • 死锁
    • 预防死锁
    • 解决死锁
  • 81讲 锁 - 注意点总结
  • 82讲 代码规范 - 变量
  • 83讲 代码规范 - 方法
  • 84讲 代码规范 - 类
  • 85讲 代码规范 - 锁
  • 86讲 代码规范 - 事务
  • 87讲 代码规范 - 陷阱
  • 88讲 代码规范 - 空行
  • 89讲 代码规范 - 格式
  • 90讲 代码规范 - 注释
  • 91讲 事务 - 什么是事务? 事务的特性

    • 什么是事务?
    • 事务的特性
    • 事务嵌套的层数
    • 事务与日志的同步提交
  • 92讲 事务 - 事务命令

    • TSTART
    • TCOMMIT
    • TROLLBACK
    • 回滚错误<ROLLFAIL>的几种情况
    • SQL命令与ObjectScript命令对照
  • 93讲 事务 - 什么可回滚,什么不可回滚?

    • 事务不可回滚
    • 事务锁
  • 94讲 事务 - SQL 事务命令

    • SET TRANSACTION
    • START TRANSACTION
    • COMMIT
    • ROLLBACK
    • SAVEPOINT
    • %INTRANSACTION
  • 95讲 事务 - $TLEVEL 变量

    • Terminal显示事务层数
    • SQL命令和$TLEVEL
  • 96讲 事务 - 嵌套事务的几种情况
  • 97讲 事务 - 事务使用的基本示例
  • 98讲 事务 - 事务提交方式

    • IMPLICIT 显式事务(自动事务)
    • EXPLICIT 隐式事务(关闭自动事务)
    • NONE 没有自动事务处理
  • 99讲 事务 - 并发事务带来的问题 - 脏读
  • 100讲 事务 - 并发事务带来的问题 - 丢失更新
  • 101讲 事务 - 并发事务带来的问题 - 不可重复读
  • 102讲 事务 - 并发事务带来的问题 - 幻读
  • 103讲 事务 - 并发事务带来的问题总结

    • 通俗解释
    • 不可重复读和脏读、幻读的区别
    • 不可重复读和脏读的区别
    • 不可重复读和幻读区别
  • 104讲 事务 - 隔离级别 - READ UNCOMMITTED

    • READ UNCOMMITTED(读取未提交数据)
  • 105讲 事务 - 隔离级别 - READ COMMITTED

    • READ COMMITTED(读取已提交数据)
  • 106讲 事务 - 隔离级别 - REPEATABLE READ

    • REPEATABLE READ(可重复读)
  • 107讲 事务 - 隔离级别 - SERIALIZABLE

    • SERIALIZABLE(可串行化)
  • 108讲 事务 - 隔离级别 - 总结

    • SNAPSHOT:快照
    • 数据库隔离级别总结
    • 实现事务隔离级别时加锁原理总结
  • 109讲 事务 - 查看事务日志 - 增删改对日志的影响

    • 查看日志
    • 在日志中查看INSERT数据
    • 在日志中查看UPDATE数据
    • 在日志中查看DELETE数据
    • 在日志中查看声明的事务
    • 在日志中查看嵌套事务
  • 110讲 事务 - 通过日志恢复被删除的数据

    • 模拟删表操作
    • 如何恢复数据
  • 111讲 事务 - 开放性事务原理以及如何检测开放性事务

    • 问题
    • 定义
    • 模拟开放性事务
    • 开放性事务状态
    • 发生开放性事务的几种可能
    • 开放性事务能带来哪些问题
    • 如何判断开放性事务
    • 如何解决开放性事务
  • 112讲 错误处理 - TRY 命令

    • TRY - CATCH机制
  • 113讲 错误处理 - CATCH 命令

    • CATCH命令有两种形式
    • 有参数CATCH
    • 无参数CATCH
  • 114讲 错误处理 - THROW 命令

    • 有参数THROW
    • 无参数THROW
  • 115讲 错误处理 - ZTRAP 命令
  • 116讲 错误处理 - $ZTRAP 变量
  • 117讲 错误处理 - 错误处理的工作机制原理
  • 118讲 错误处理 - $ETRAP 变量
  • 119讲 错误处理 - $ZERROR 变量以及常见错误类型

    • 显示$ze格式错误
    • 错误的附加信息
  • 120讲 错误处理 - $ECODE 变量
  • 121讲 错误处理 - $THROWOBJ 变量
  • 122讲 错误处理 - TRY - CATCH,$ZTRAP,$ETRAP区别与错误处理工具推荐
  • 123讲 错误处理 - 堆栈 - $STACK 变量
  • 124讲 错误处理 - 堆栈 - $ESTACK 变量
  • 125讲 错误处理 - 堆栈 - $STACK 函数

    • $STACK的单参数形式
    • $STACK的两个参数形式
  • 126讲 错误处理 - 堆栈 - 手写记录错误堆栈调用信息
  • 127讲 错误处理 - 堆栈 - Terminal中显示程序堆栈信息

    • Terminal字母代码
  • 128讲 错误处理 - 堆栈 - %Stack 实用程序
  • 129讲 错误处理 - 使用系统日志并查看错误堆栈信息
  • 130讲 错误处理 - 使用%ERN查看应用程序错误日志
  • 131讲 错误处理 - 常见的返回值错误处理

    • 用分隔符返回错误代码与描述信息。常见的分隔符^,等。
    • JSON处理错误方式返回。
    • %Status方式返回。
    • SQLCODE方式返回错误。
  • 132讲 错误处理 - 手写通用错误异常处理方式,包含日志,堆栈。

    • $ZtrapTry-Catch双保险方式捕捉异常
    • 原理
    • $Ztrap方式捕捉ZTrap抛出异常
  • 133讲 调试 - BREAK 命令 - 基本使用

    • BREAK命令有三种形式
    • 无参BREAK
  • 134讲 调试 - BREAK 命令 - 逐步逐行调试

    • BREAK Extended 参数以设置常规断点
  • 135讲 调试 - BREAK 命令 - 中断运行中的程序

    • Flag参数
  • 136讲 调试 - ZBREAK 命令 - 基本使用

    • 基本语法
    • ZBREAK帮助文档
    • 无参数ZBREAK
    • BREAKZBREAK的区别
  • 137讲 调试 - ZBREAK 命令 - 使用断点和监视点

    • 建立断点和监视点
    • action参数值
  • 138讲 调试 - ZBREAK 命令 - 跟踪并输出监视变量值

    • 跟踪并输出监视变量值
  • 139讲 调试 - ZBREAK 命令 - 将调试信息输出到日志txt

    • 将调试信息输出到日志txt
  • 140讲 调试 - 使用Stuido调试
  • 141讲 调试 - 使用监视窗口与监视点

    • 调试菜单
    • 监视窗口
    • 监视点
  • 142讲 调试 - 根据进程调试
  • 143讲 调试 - 调试CSP页面
  • 144讲 - 类 - 包 - 定义

    • 概念
    • 定义包
    • 注意事项
  • 145讲 - 类 - 包 - 包映射

    • 映射通用包
  • 146讲 - 类 - 包 - 使用包

    • 在类中引用包
    • 导入包
    • ObjectScript方法中引入包
  • 147讲 类 - 参数 - 定义使用类参数

    • 概念
    • 使用场景
    • 定义参数
    • 使用参数值
  • 148讲 类 - 参数 - 类参数类型

    • 运行时计算的类参数
    • 编译时计算的类参数
  • 149讲 类 - 参数 - 运行时更改类参数值与参数关键字

    • 在运行时更改类参数
    • 参数关键字
  • 150讲 类 - 方法 - 定义方法

    • 概念
    • 类别
    • 定义方法
    • 方法参数
  • .第151讲 类 - 方法 - 使用类方法与实例方法
  • 152讲 类 - 方法 - 方法关键字

    • 方法关键字列表
    • 关键字Language - 指定实现语言
    • 关键字CodeMode - 方法实现方式
    • 关键字SqlProc - 将方法映射为存储过程
    • 关键字SqlName - 自定义存储过程名称
    • 关键字Abstract - 抽象方法
    • 关键字Final - 指定方法为最终方法
    • 关键字Private - 指定方法为私有方法
  • 153讲 方法生成器 - 原理
  • 154讲 方法生成器 - 可用对象简介与示例

    • 方法生成器可用对象
    • 定义方法生成器示例
  • 155讲 方法生成器 - 父子类中的区别

    • 方法生成器在父子类中的区别
  • 156讲 类 - 对象 - %RegisteredObject

    • 对象类
    • OREF
  • 157讲 类 - 对象 - %RegisteredObject类常用方法
  • 158讲 类 - 对象 - 继承与父类类型转换
  • 159讲 类 - 属性 - 简介

    • 定义属性
    • 使用对象属性
    • i%PropertyName(实例变量)
  • 160讲 类 - 属性 - 常用关键字

    • 属性关键字列表
    • InitialExpression关键字 - 设置属性定义初始值
    • Required关键字 - 设置属性字段不能为null
    • MultiDimensional - 关键字定义多维属性
    • Aliases - 为属性指定别名
    • ReadOnly - 指定属性为只读
  • 161讲 类 - 属性 - 计算属性

    • SqlComputed关键字与SqlComputeCode关键字
    • SqlColumnNumber关键字设置属性的SQL列号
    • SqlFieldName设置SQL字段名
    • 使用关键字定义计算代码
    • 使用回调方法定义计算代码
    • SqlComputeOnChange关键字
    • Transient关键字
    • Calculated关键字
  • 162讲 类 - 属性 - 属性访问器

    • 设置属性访问器
    • 通过IDE创建属性访问器
    • 重写属性获取器方法
    • 对象属性的属性访问器
    • PropGetStored() 方法 - 直接从磁盘加载数据
    • 测试效率对比
  • 163讲 类 - 数据类型类 - 简介

    • 数据类型类的类型
    • 数据类型类的功能
    • 数据类型类的区别
    • 常用的数据格式类型
  • 164讲 类 - 数据类型类 - 常用数据类型与映射

    • 什么是ODBC,JDBC
    • 常用数据类型类
    • 常用数据类型映射
    • SqlCategory映射数据类型类
    • OdbcType映射数据类型类
    • ClientDataType分组的数据类型类
  • 165讲 类 - 数据类型 - 属性方法

    • 使用属性方法
  • 166讲 类 - 数据类型 - 数据类型参数

    • 数据类型参数
    • 常用数据类型类可使用参数
    • 使用参数
    • 参数使用示例
  • 167讲 类 - 数据类型 - 自定义数据类型类
  • 168讲 类 - %Persistent - 持久类简介与定义

    • 简介
    • 定义持久类
    • 包映射模式
    • 持久类与SQL映射关系
    • 保存对象标识符:IDOID
    • 持久类成员
  • 169讲 类 - %Persistent - Storage定义与Storage

    • %Storage.Persistent存储类
    • %Storage.SQL 存储类
    • %Storage.Persistent%Storage.SQL区别
    • 注意事项
  • 170讲 类 - %Persistent - Global使用
  • 171讲 类 - %Persistent - 生成ID相关事项
  • 172讲 类 - %Persistent - 哈希Global
  • 173讲 类 - %Persistent - 子类拓展使用

    • 持久类子类数据存储情况
    • 父子类均为持久类
    • 父类NoExtent子类持久类
  • 174讲 类 - %Persistent - 常用关键字

    • SqlTableName关键字 - 设置表名称
    • SqlRowIdName关键字 - 设置ID列名称
    • SqlRowIdPrivate关键字 - 隐藏ID
    • StorageStrategy关键字 - 指定Storage
    • DdlAllowed关键字 - 指定是否可以使用DDL语句
  • 175讲 类 - %Persistent - 持久类常用方法

    • %Save() - 保存对象
    • %Save()方法执行逻辑详解
    • %Save()回滚
    • %Save() 事务
    • %Id() - 返回持久对象ID
    • %Oid() - 返回持久对象OID
    • %ExistsId() - 测试持久对象ID是否存在
    • %OpenId - 打开保存的对象
    • 多次调用相同ID的%OpenId()情况分析
    • %Reload() - 重新加载对象
    • %DeleteId() - 根据ID删除保存的对象
    • %Delete() 根据OID删除保存的对象
    • %DeleteExtent() - 删除所有保存的对象
    • %KillExtent() - 强制删除该表数据
    • READONLY 参数 - 指定数据库为只读
  • 176讲 类 - %Persistent - Swizzling

    • Swizzling - 懒加载、交错存储、重组存储
  • 177讲 类 - %Persistent - Extent查询
  • 178讲 类 - %Persistent - 并发分析

    • 为什么使用并发参数
    • 设置并发的几种方式
    • 可以用的并发值
    • concurrency 设置为 0 - 无锁。
    • concurrency 设置为 1 - 保存后获取独占锁。
    • concurrency 设置为 2 - 与1相同
    • concurrency 设置为 3 - 总是获取共享锁。
    • concurrency 设置为 4 - 总是获取独占锁。
    • 通过$system.OBJ.SetConcurrencyMode设置当前进程并发值
    • 并发参数的代替方法
  • 179讲 类 - %Persistent - 使用列存储
  • 180讲 类 - 集合 - 简介

    • 集合的类型
    • 集合属性
    • 独立集合
  • 181讲 类 - 集合 - 使用列表集合

    • 使用列表List集合
  • 182讲 类 - 集合 - 使用数组集合

    • 使用数组Array集合
  • 183讲 类 - 集合 - 在持久类中使用基础数据列表

    • 持久类中集合属性的SQL映射
    • 使用基础数据list列表
  • 184讲 类 - 集合 - 在持久类中使用对象列表

    • 使用对象list列表
  • 185讲 类 - 集合 - 在持久类中使用序列化列表

    • 使用序列化list列表
  • 186讲 类 - 集合 - 在持久类中使用基础数据数组

    • 使用基础数据array数组
  • 187讲 类 - 集合 - 在持久类中使用对象数组

    • 使用对象array数组
  • 188讲 类 - 集合 - 在持久类中使用序列化数组

    • 使用序列化array数组
  • 189讲 类 - 集合 - 集合属性参数

    • 集合属性参数
    • STORAGEDEFAULT参数
    • SQLTABLENAME参数
    • SQLPROJECTION参数
  • 190讲 流 - 简介

    • 常用流对象
    • 二进制流和文本流的区别
  • 191讲 流 - 在持久类中使用流属性
  • 192讲 流 - 常用方法和属性

    • %Stream - 流常用方法和属性
    • Read() - 从流的当前位置开始读取指定数量的字符。
    • Write() - 从当前位置开始,将数据追加到流中。如果位置未设置为流的末尾,则覆盖现有数据。
    • Rewind() - 移至流的开头。
    • NewFileName() - 为%Stream.FileCharacter%Stream.FileBinary属性指定文件名。

    • 常用的属性

    • AtEnd - 当读取遇到数据源的末尾时,设置为true
    • Id - 在%Location指定的范围内,流实例的唯一标识符。
    • Size - 流的当前大小(以字节或字符为单位,取决于流的类型)。
  • 193讲 流 - 流中指定编码格式

    • TranslateTable - 指定读取或写入%Stream.FileCharacter流的字符集编码类型。
    • Filename - %Stream.FileBinary流当前使用的文件名,文件名包含路径+文件名。
  • 194讲 流 - 复制视频文件

    • CopyFrom() - 所有流都包含一个CopyFrom()方法,该方法复制一个流填充到另一流。
    • LinkToFile()- 类似于Filename 属性,将文件流连接到名为Filename 的文件。如果指定的文件不存在,则在%Save()后创建。
  • 195讲 流 - 在已有文件中追加数据

    • MoveToEnd() - 移动到流的末尾。
    • %Save() - 当将流类用作独立对象时,使用%Save()方法来保存流数据。
  • 196讲 流 - 使用gzip压缩文件

  • 197讲 流 - 通过嵌入式对象写入流

    • 通过嵌入式SQL读取流
    • 通过嵌入式SQL写入流
  • 198讲 流 - 使用压缩流

  • 199%SerialObject - 序列化对象简介

    • 对象组合
  • 200%SerialObject - 序列化对象使用

    • 定义序列化对象
    • 使用序列化类
  • 201讲 类 - XData - 介绍使用

    • 结构
    • 关键字
    • 使用XData
    • XML示例
    • JSON示例
    • YAML 示例
  • 202讲 类 - Projection映射 - 介绍使用

    • 使用类映射
  • 203讲 类 - 关系 - 简介

    • 类型
    • 定义关系
    • 关系属性如何保存
  • 204讲 类 - 关系 - 定义一对多关系

  • 205讲 类 - 关系 - 删除一对多关系
  • 206讲 类 - 关系 - 使用关键字OnDelete
  • 207讲 类 - 关系 - 定义主子关系
  • 208讲 类 - 关系 - 删除主子关系
  • 209讲 类 - 关系 - 在SQL查询中使用关系
  • 210讲 类 - 关系 - 使用关系定义多对多关系
  • 211讲 类 - 关系 - 使用外键定义多对多关系
  • 212Query - 简介与基本使用
  • 213Query - 自定义Query基本使用
  • 214Query - 通过%SQL.Statement,%ResultSet使用Query

    • 使用%SQL.Statement对象调用Query
    • 使用%ResultSet对象调用Query
  • 215Query - 通过Json数据或方法动态生成Query

  • 216Query - 通过Select Sql语句动态生成Query
  • 217Query - 通过Query生成动态Query
  • 218Query - 支持传统的Query并通过参数形式生成Query
  • 219Query - 定义通用Query,只需要实现Exceute方法
  • 220Query - 通过Query生成Json,通过Query生成Csv
  • 221讲 生命周期回调方法 - 从新建到保存

    • 回调方法列表
    • %OnNew()
    • %OnAddToSaveSet()
    • %OnBeforeSave()
    • %OnAfterSave()
    • %OnSaveFinally()
    • %OnValidateObject()
    • %OnRollBack()
    • %OnClose()

    • %Save回调示例

  • 222讲 生命周期回调方法 - 从打开到删除

    • %OnOpen()
    • %OnOpenFinally()
    • %OnReload()
    • %OnConstructClone()
    • %OnAfterDelete()
    • %OnDelete()
    • %OnDeleteFinally()
    • %Delete示例
  • 223讲 生命周期回调方法 - 索引

    • %OnBeforePurgeIndices()
    • %OnAfterPurgeIndices()
    • %OnBeforeBuildIndices()
    • %OnAfterBuildIndices()
    • %BuildIndices示例
  • 224讲 填充工具 - Populate实用程序简介

    • %Library.PopulateUtils填充方法列表
    • 数据填充
    • Populate()方法简介
  • 225讲 填充工具 - 集合属性

    • 集合属性
  • 226讲 填充工具 - 引用序列化对象的属性

  • 227讲 填充工具 - 关系

    • 一对多关系
    • 主子关系
    • 填充顺序
  • 228讲 填充工具 - 引用持久对象的属性

  • 229讲 填充工具 - 为非集合属性指定POPSPEC参数
  • 230讲 填充工具 - 为列表属性指定POPSPEC参数
  • 231讲 填充工具 - 为数组属性指定POPSPEC参数
  • 232讲 填充工具 - 通过SQL表指定POPSPEC参数
  • 233讲 填充工具 - 基于另外一个属性生成
  • 234讲 动态派发

    • 动态派发方法
    • %DispatchMethod()
    • %DispatchClassMethod()
    • %DispatchGetProperty()
    • %DispatchSetProperty()
    • %DispatchSetMultidimProperty()
  • 235讲 动态派发 - 动态属性示例

  • 236JSON - 简介

    • 动态JSON简介
    • JSON简单使用示例
    • 创建和操作动态实体
  • 237JSON - 使用JSON文本构造器

    • 使用字符串JSON构造函数创建动态实体
    • 使用JSON文本构造器
  • 238JSON - 使用动态表达式和点语法

    • 使用动态表达式和点语法
    • 使用点语法创建动态对象属性
    • 使用点语法创建动态数组元素
  • 239JSON - 使用 %Set(), %Get(), %Remove()

    • 使用 %Set(), %Get(), %Remove()
    • 使用%Set()%Get()%Remove()以编程方式指定JSON的键和值
    • 使用%Get()%Remove()检索嵌套的动态实体
    • 删除对象属性
    • 删除数组元素
  • 240JSON - 链式动态实体方法

  • 241JSON - 错误处理
  • 242JSON - 序列化与反序列化

    • 将动态实体转换JSON字符串
    • JSON字符串反序列化为动态对象
    • 在嵌套复杂动态实体和JSON字符串之间进行转换
  • 243JSON - 克隆JSON对象

  • 244JSON - 迭代JSON

    • 使用%GetNext()遍历动态实体
    • 遍历数组
    • 遍历对象
  • 245JSON - 解决JSON字符串超长问题

    • 将大型动态实体序列化为流
    • 读取和写入Global字符流
    • Json写入文件流
  • 246JSON - 动态数组中的null

  • 247JSON - 在数组中使用%Remove
  • 248JSON - 使用%Size()的数组迭代
  • 249JSON - 使用%IsDefined()测试有效值
  • 250JSON - 在动态数组中使用%Push%Pop

    • 使用%Push()%Pop()构建一个数组并销毁
  • 251JSON - 处理JSON 数据类型

    • 使用%GetTypeOf()返回值的数据类型
    • 迭代和数据类型检测
    • 区分动态数组,动态对象和oref
  • 252JSON - 用%Set()%Push()重写覆盖默认数据类型

    • %Set()%Push()重写覆盖默认数据类型
  • 253JSON - 解析JSON空值和布尔值

    • 解析JSON空值和布尔值
  • 254JSON - 解决Null、空字符串和未赋值

    • 解决Null、空字符串和未赋值
  • 255JSON - 动态实体方法概览

    • 创建、读取、更新、删除
    • %Set() 可以更改现有动态实体成员属性或元素的值,也可以创建新成员并为其赋值。
    • %Remove() 删除现有成员。
    • %Get() 检索成员的值。

    • 迭代数组

    • %GetIterator() 返回一个迭代器,其中包含指向动态实体每个成员的指针。
    • %GetNext() 返回迭代器标识的成员的键和值,并将光标移到下一个成员。
    • %Size() 返回成员数包括数组中未分配的元素。
    • %IsDefined() 测试成员是否具有指定的值。

    • 堆栈功能

    • %Push() 将新元素添加到动态数组的末尾。
    • %Pop() 删除数组的最后一个元素并返回其值。这些方法不适用于动态对象,因为对象属性不是按可预测的顺序存储的。

    • 序列化和反序列化

    • %FromJSON()JSON字符串转换为动态实体。
    • %FromJSONFile()
    • %ToJSON() 将动态实体序列化为规范JSON字符串。

    • 数据类型

    • %GetTypeOf() 返回一个字符串,该字符串指示指定成员值的数据类型。%Set()%Push()提供一个可选的第三个参数来显式地指定值的数据类型。
  • 256JSON - %JSON.Adaptor - 简介,对象与JSON互转

    • 导入导出
    • 实体类继承%JSON.Adaptor
    • 将对象导出为JSON字符串
    • JSON字符串导入到对象中
  • 257JSON - %JSON.Adaptor - 使用参数映射

    • %JSONFIELDNAME
    • %JSONINCLUDE
    • %JSONIGNOREINVALIDFIELD
    • %JSONIGNORENULL
    • %JSONNULL
    • %JSONREFERENCE
    • %JSONIGNOREINVALIDFIELD
  • 258JSON - %JSON.Adaptor - 使用XData映射块

    • 定义扩展数据映射块
  • 259JSON - %JSON.Adaptor - 格式化JSON

    • 格式化JSON
  • 260%Dictionary - 是什么怎么用

    • 类别
    • 判断类关键字是否存在
    • 查看类定义
    • 修改类定义
  • 261%Dictionary - 类成员对应哪些表

    • 类定义类说明
讨论 (1)1
登录或注册以继续