sqlitetest.um
import (
"std.um"
"sqlite.um" // Replace with "umbox/sqlite/sqlite.um" when run from UmBox
)
fn getStr(): str {
s := ""
for true {
c := std::getchar()
if c == '\n' {
break
}
s += c
}
return s
}
fn main() {
db, err := sqlite::open(std::argv(1))
std::exitif(err)
for true {
printf("\n>>> ")
request := getStr()
if request == "" {
break
}
row, err := db.prepare(request)
if sqlite::Result(err.code) != .OK {
printf("SQLite error: %s\n", err.msg)
continue
}
got, err := row.step()
for got {
printf("\n<<< %v\n", row.values())
got, err = row.step()
}
if sqlite::Result(err.code) != .OK {
printf("SQLite error: %s\n", err.msg)
continue
}
}
}