SQLite3 游标对象:如何访问行值

SQLite3Cursor object: how to access row values

我对 Pharo 还很陌生,正在努力掌握它。

安装了 SQLite3 包,现在我正在尝试连接到基于本地文件的数据库。

我遵循了社区拥有的 SQLite3 数据库客户端的入门教程。不幸的是,只提供了简短的文档。

谁能给我一个如何遍历 SQLite3Cursor 对象并打印它们的例子,例如请转到成绩单?

其次,我想知道如何访问某些行值。

感谢对新手的任何帮助。 谢谢。


如果我评价

cursor := connection execute: 'SELECT * FROM person;'

所有人都放在那个cursor对象中。基本上我在 cursor 中得到 n SQLite3Rows。如果我检查 cursor next,我会看到该行的列和值,但如何在 Transcript 中显示它?

第二个问题是如何遍历整个 cursor 对象并将输出发送到 Transcript?

基本上你可以这样做

| conn rs rows read|
conn := SQLite3Connection memory.
conn open.

conn execute: 'CREATE TABLE person(
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    age INTEGER NOT NULL
);'.

conn execute: 'INSERT INTO person(name,age) VALUES (?2, ?1);' value: 25 value: 'Cyril'.

conn execute: 'INSERT INTO person(name,age) VALUES (?2, ?1);' value: 24 value: 'Marc'.

rs := conn execute: 'SELECT * FROM person;'.

""" OrderedCollection """
rows := rs rows.

rows do: [ :v |
    Transcript show: (v at: 'name'); cr.
     ]

最好是看SQLite3-Core-Tests