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

知识点索引
-
第
1讲IRISObjectScript简介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讲 命令 - 条件命令if,elseif,else命令IF中使用QUITIF中使用GOTO
-
第
19讲 命令 - 循环命令For命令while命令Do While命令
-
第
20讲 命令 - 退出命令Continue命令Quit命令Retrun命令
-
第
21讲 命令 - 输出命令WRITE命令- 有参数
WRITE - 无参数
WRITE
- 有参数
ZWRITE命令ZZDUMP命令ZZWRITE命令WRITE,ZWRITE,ZZDUMP,ZZWRITE异同
-
第
22讲 命令 - 调用命令Do命令
-
第
23讲 命令 - 调用命令 -JOB -
第
24讲 命令 - 调用命令 -JOB- 使用多进程 -
第
25讲 命令 - 调用命令 -JOB- 消息队列 -
第
26讲 命令 - 调用命令 -XECUTE命令 -
第
27讲 命令 - 调用命令 -GOTO命令 -
第
28讲 方法 - 方法概念RoutinesSubroutinesFunctionsLabelProceduresMethodsClassMethodsSystemFunctionsProgram- 简单区别
-
第
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讲 数组函数 -$LISTBUILDSET $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讲 正则表达式函数 -$MATCHUnicode属性字符类型POSIX字符类型- 分组构造
- 字符边界
- 十六进制表示法
- 八进制表示法
Unicode表示法- 汉字
Unicode编码范围
- 汉字
- 控制字符表示法
- 符号表示法
- 模式
Case模式- 单行模式
- 文本模式
- 注解
- 行内注释
- 行末注释
- 错误信息
-
第
54讲 正则表达式函数 -$LOCATE -
第
55讲 正则表达式函数 -$ZSTRIP -
第
56讲 正则表达式类 -%Regex.Matcher -
第
57讲 对比MATCH、LOCATE、ZSTRIP、%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讲 事务 - 事务命令TSTARTTCOMMITTROLLBACK- 回滚错误
<ROLLFAIL>的几种情况 SQL命令与ObjectScript命令对照
-
第
93讲 事务 - 什么可回滚,什么不可回滚?- 事务不可回滚
- 事务锁
-
第
94讲 事务 -SQL事务命令SET TRANSACTIONSTART TRANSACTIONCOMMITROLLBACKSAVEPOINT%INTRANSACTION
-
第
95讲 事务 -$TLEVEL变量Terminal显示事务层数SQL命令和$TLEVEL
-
第
96讲 事务 - 嵌套事务的几种情况 -
第
97讲 事务 - 事务使用的基本示例 -
第
98讲 事务 - 事务提交方式IMPLICIT显式事务(自动事务)EXPLICIT隐式事务(关闭自动事务)NONE没有自动事务处理
-
第
99讲 事务 - 并发事务带来的问题 - 脏读 -
第
100讲 事务 - 并发事务带来的问题 - 丢失更新 -
第
101讲 事务 - 并发事务带来的问题 - 不可重复读 -
第
102讲 事务 - 并发事务带来的问题 - 幻读 -
第
103讲 事务 - 并发事务带来的问题总结- 通俗解释
- 不可重复读和脏读、幻读的区别
- 不可重复读和脏读的区别
- 不可重复读和幻读区别
-
第
104讲 事务 - 隔离级别 -READ UNCOMMITTEDREAD UNCOMMITTED(读取未提交数据)
-
第
105讲 事务 - 隔离级别 - READ COMMITTEDREAD COMMITTED(读取已提交数据)
-
第
106讲 事务 - 隔离级别 - REPEATABLE READREPEATABLE READ(可重复读)
-
第
107讲 事务 - 隔离级别 -SERIALIZABLESERIALIZABLE(可串行化)
-
第
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讲 错误处理 - 手写通用错误异常处理方式,包含日志,堆栈。$Ztrap与Try-Catch双保险方式捕捉异常- 原理
$Ztrap方式捕捉ZTrap抛出异常
-
第
133讲 调试 -BREAK命令 - 基本使用BREAK命令有三种形式- 无参
BREAK
-
第
134讲 调试 -BREAK命令 - 逐步逐行调试BREAK Extended参数以设置常规断点
-
第
135讲 调试 -BREAK命令 - 中断运行中的程序Flag参数
-
第
136讲 调试 -ZBREAK命令 - 基本使用- 基本语法
ZBREAK帮助文档- 无参数
ZBREAK BREAK与ZBREAK的区别
-
第
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关键字 - 设置属性字段不能为nullMultiDimensional- 关键字定义多维属性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映射关系 - 保存对象标识符:
ID和OID - 持久类成员
-
第
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关键字 - 指定StorageDdlAllowed关键字 - 指定是否可以使用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-SwizzlingSwizzling- 懒加载、交错存储、重组存储
-
第
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- 介绍使用- 结构
- 关键字
- 使用
XDataXML示例JSON示例YAML示例
-
第
202讲 类 -Projection映射 - 介绍使用- 使用类映射
-
第
203讲 类 - 关系 - 简介- 类型
- 定义关系
- 关系属性如何保存
-
第
204讲 类 - 关系 - 定义一对多关系 -
第
205讲 类 - 关系 - 删除一对多关系 -
第
206讲 类 - 关系 - 使用关键字OnDelete -
第
207讲 类 - 关系 - 定义主子关系 -
第
208讲 类 - 关系 - 删除主子关系 -
第
209讲 类 - 关系 - 在SQL查询中使用关系 -
第
210讲 类 - 关系 - 使用关系定义多对多关系 -
第
211讲 类 - 关系 - 使用外键定义多对多关系 -
第
212讲Query- 简介与基本使用 -
第
213讲Query- 自定义Query基本使用 -
第
214讲Query- 通过%SQL.Statement,%ResultSet使用Query- 使用
%SQL.Statement对象调用Query - 使用
%ResultSet对象调用Query
- 使用
-
第
215讲Query- 通过Json数据或方法动态生成Query -
第
216讲Query- 通过Select Sql语句动态生成Query -
第
217讲Query- 通过Query生成动态Query -
第
218讲Query- 支持传统的Query并通过参数形式生成Query列 -
第
219讲Query- 定义通用Query,只需要实现Exceute方法 -
第
220讲Query- 通过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讲 动态派发 - 动态属性示例 -
第
236讲JSON- 简介- 动态
JSON简介 JSON简单使用示例- 创建和操作动态实体
- 动态
-
第
237讲JSON- 使用JSON文本构造器- 使用字符串
JSON构造函数创建动态实体 - 使用
JSON文本构造器
- 使用字符串
-
第
238讲JSON- 使用动态表达式和点语法- 使用动态表达式和点语法
- 使用点语法创建动态对象属性
- 使用点语法创建动态数组元素
-
第
239讲JSON- 使用%Set(),%Get(),%Remove()- 使用
%Set(),%Get(),%Remove() - 使用
%Set()、%Get()和%Remove()以编程方式指定JSON的键和值 - 使用
%Get()和%Remove()检索嵌套的动态实体 - 删除对象属性
- 删除数组元素
- 使用
-
第
240讲JSON- 链式动态实体方法 -
第
241讲JSON- 错误处理 -
第
242讲JSON- 序列化与反序列化- 将动态实体转换
JSON字符串 - 将
JSON字符串反序列化为动态对象 - 在嵌套复杂动态实体和
JSON字符串之间进行转换
- 将动态实体转换
-
第
243讲JSON- 克隆JSON对象 -
第
244讲JSON- 迭代JSON- 使用
%GetNext()遍历动态实体 - 遍历数组
- 遍历对象
- 使用
-
第
245讲JSON- 解决JSON字符串超长问题- 将大型动态实体序列化为流
- 读取和写入
Global字符流 Json写入文件流
-
第
246讲JSON- 动态数组中的null值 -
第
247讲JSON- 在数组中使用%Remove -
第
248讲JSON- 使用%Size()的数组迭代 -
第
249讲JSON- 使用%IsDefined()测试有效值 -
第
250讲JSON- 在动态数组中使用%Push和%Pop- 使用
%Push()和%Pop()构建一个数组并销毁
- 使用
-
第
251讲JSON- 处理JSON数据类型- 使用
%GetTypeOf()返回值的数据类型 - 迭代和数据类型检测
- 区分动态数组,动态对象和
oref
- 使用
-
第
252讲JSON- 用%Set()或%Push()重写覆盖默认数据类型- 用
%Set()或%Push()重写覆盖默认数据类型
- 用
-
第
253讲JSON- 解析JSON空值和布尔值- 解析
JSON空值和布尔值
- 解析
-
第
254讲JSON- 解决Null、空字符串和未赋值- 解决
Null、空字符串和未赋值
- 解决
-
第
255讲JSON- 动态实体方法概览-
创建、读取、更新、删除
%Set()可以更改现有动态实体成员属性或元素的值,也可以创建新成员并为其赋值。%Remove()删除现有成员。%Get()检索成员的值。
-
迭代数组
%GetIterator()返回一个迭代器,其中包含指向动态实体每个成员的指针。%GetNext()返回迭代器标识的成员的键和值,并将光标移到下一个成员。%Size()返回成员数包括数组中未分配的元素。%IsDefined()测试成员是否具有指定的值。
-
堆栈功能
%Push()将新元素添加到动态数组的末尾。%Pop()删除数组的最后一个元素并返回其值。这些方法不适用于动态对象,因为对象属性不是按可预测的顺序存储的。
-
序列化和反序列化
%FromJSON()将JSON字符串转换为动态实体。%FromJSONFile()%ToJSON()将动态实体序列化为规范JSON字符串。
-
数据类型
%GetTypeOf()返回一个字符串,该字符串指示指定成员值的数据类型。%Set()和%Push()提供一个可选的第三个参数来显式地指定值的数据类型。
-
-
第
256讲JSON-%JSON.Adaptor- 简介,对象与JSON互转- 导入导出
- 实体类继承
%JSON.Adaptor - 将对象导出为
JSON字符串 - 将
JSON字符串导入到对象中
-
第
257讲JSON-%JSON.Adaptor- 使用参数映射%JSONFIELDNAME%JSONINCLUDE%JSONIGNOREINVALIDFIELD%JSONIGNORENULL%JSONNULL%JSONREFERENCE%JSONIGNOREINVALIDFIELD
-
第
258讲JSON-%JSON.Adaptor- 使用XData映射块- 定义扩展数据映射块
-
第
259讲JSON-%JSON.Adaptor- 格式化JSON- 格式化
JSON
- 格式化
-
第
260讲%Dictionary- 是什么怎么用- 类别
- 判断类关键字是否存在
- 查看类定义
- 修改类定义
-
第
261讲%Dictionary- 类成员对应哪些表- 类定义类说明
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!