YStudio Y++

ODBC类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → ODBC类。

类型名必须写完整「ODBC类」。声明时自动创建,一般无需再调 创建*。

本类与 SQLite类 / MySQL类 / PostgreSQL类 完全独立:各自实现,互不影响。

硬约束

  1. 类型名必须写「ODBC类」。
  2. 能力范围:通用 ODBC 客户端(动态加载系统 odbc32.dll),不是数据库服务器,也不附带任何 ODBC 驱动安装包。
  3. 可连接本机已安装驱动的数据源,例如: - SQL Server(Driver={SQL Server} / {ODBC Driver 17 for SQL Server} 等) - Access / Excel(Microsoft Access 驱动) - 其它已安装的 MySQL/PostgreSQL ODBC 驱动
  4. 连接失败先查:连接串/DSN、驱动是否安装、取错误(),以及账号权限。
  5. 跨驱动 SQL 方言不同(建表、LIMIT/TOP 等);日常优先 执行SQL / 查询SQL,辅助方法 插入/更新/删除/查询 仅拼 ANSI 风格语句。

快速开始

连接串:

ODBC类 db
如果 (db.打开连接串("Driver={SQL Server};Server=.;Database=demo;Trusted_Connection=Yes;") == 假) {
    输出(db.取错误())
} 否则 {
    如果 (db.查询SQL("SELECT name FROM sys.tables")) {
        当 (db.取下一行()) {
            输出(db.取文本("name"))
        }
    }
    db.关闭()
}

DSN:

ODBC类 db
db.置连接超时(15)
如果 (db.打开DSN("MyDsn", "sa", "pass") == 假) {
    输出(db.取错误())
} 否则 {
    db.关闭()
}

查看本机驱动 / 数据源:

ODBC类 db
输出(db.取驱动列表())
输出(db.取数据源列表())

ODBC类/创建

创建ODBC

  • 签名:通用 创建ODBC()
  • 说明:通用 ODBC 客户端。通常直接写「ODBC类 db」。动态加载系统 odbc32.dll。

ODBC类/方法

方法 说明
置连接超时 / 取连接超时 登录与连接超时(秒)
打开连接串 完整 ODBC 连接串(推荐)
打开DSN 系统/用户 DSN + 可选用户/密码
关闭 / 是否打开 连接生命周期
执行SQL / 查询SQL 执行非查询 / 查询
取下一行 遍历结果行
取文本 / 取整数 / 取小数 按列名或 0 起索引取值
取列数 / 取列名 结果集元数据
插入 / 更新 / 删除 / 查询 / 取行数 轻量 ANSI 拼 SQL 辅助
开始事务 / 提交 / 回滚 事务
取影响行数 最近执行影响行数(驱动支持时)
转义文本 单引号加倍
取错误 最近错误
取驱动列表 / 取数据源列表 枚举本机驱动与 DSN(换行分隔)

对照:常见任务写法