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
我对 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