gpt4 book ai didi

sqlite - 在Genie + SQLite中查询

转载 作者:行者123 更新时间:2023-12-03 19:30:57 24 4
gpt4 key购买 nike

我正在与Genie + SQLite一起练习,尝试进行查询时被阻止。

uses Sqlite

init
db : Sqlite.Database
Sqlite.Database.open ("agenda.db3", out db)

db.exec ("CREATE TABLE Contactos (pkiD INTEGER PRIMARY KEY, nombre TEXT UNIQUE, phone INTEGER)")

stdout.printf( "Nuevo contacto: " )
contacto_nombre:string = stdin.read_line()

stdout.printf( "Teléfono: " )
contacto_phone:string = stdin.read_line()

enter:string = @"INSERT INTO Contactos (nombre, phone) VALUES ('$contacto_nombre', $contacto_phone)"

// if contacto_nombre exists ????????????
//"SELECT nombre FROM Contactos WHERE nombre = 'contacto_nombre'" ????
//stdout.printf("%s ya está en la Agenda.\n", contacto_nombre)
//else
db.exec (enter)


如何检查值是否已经存在?谢谢。

最佳答案

好吧,我不知道这是否是最好的方法,但是我已经找到了解决方案。

uses
Sqlite
Gee

init
db : Sqlite.Database
Sqlite.Database.open ("agenda.db3", out db)

db.exec ("CREATE TABLE Contactos (pkiD INTEGER PRIMARY KEY, nombre TEXT UNIQUE, phone INTEGER)")

stdout.printf( "Nuevo contacto: " )
contacto_nombre:string = stdin.read_line()

statement:Statement
db.prepare_v2("SELECT nombre FROM Contactos", -1, out statement)

cols:int = statement.column_count ()

var row = new dict of string, string
item:int = 1

var lista = new list of string

while statement.step() == ROW
for i:int = 0 to (cols - 1)
row[ statement.column_name( i ) ] = statement.column_text( i )
lista.add(row[ "nombre" ])
item++
if lista.contains(contacto_nombre) == true
stdout.printf("%s ya está en la Agenda.\n", contacto_nombre)
else
stdout.printf( "Teléfono: " )
contacto_phone:string = stdin.read_line()
enter:string = @"INSERT INTO Contactos (nombre, phone) VALUES ('$contacto_nombre', $contacto_phone)"
db.exec (enter)

关于sqlite - 在Genie + SQLite中查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41337440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com