我是Pharo的新手,正在努力掌握它。
安装了SQLite3软件包,现在我正在尝试连接到本地基于文件的数据库。
我遵循了社区拥有的SQLite3数据库客户端的入门教程。遗憾的是,只提供了简短的文档。
有人能给我一个如何迭代SQLite3Cursor对象并将其打印到Transcript的例子吗?
其次,我想知道如何访问某些行值。
感谢对新手的任何帮助。非常感谢。
如果我评估
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核心测试中查看