在过去的2-3天里,我遇到了从我制作的Qt程序向postgres数据库插入数据的问题。
我已与数据库建立连接,但当我尝试插入数据时,程序会向我发送此消息:
ERROR: syntax error at or near "("
LINE 1: EXECUTE ('thisIsSomeName', 4, '0000')
^
QPSQL: Unable to create query
以下是Qt中插入值的代码。
QSqlQuery qsql;
qsql.prepare("INSERT INTO baza(Name, ID, Birth Date)"
"VALUES (?, ?, ?)");
qsql.bindValue(0, "thisIsSomeName");
qsql.bindValue(1, 4);
qsql.bindValue(2, "0000");
if (qsql.exec())
{
label->setText("all is good");
}
请告诉我如何做这项工作。谢谢。 巴扎的脚本
CREATE TABLE baza
(
"Name" name NOT NULL DEFAULT 50,
"ID" integer NOT NULL,
"Birth Date" text DEFAULT 0,
CONSTRAINT baza_pkey PRIMARY KEY ("ID")
)
WITH (
OIDS=FALSE
);
ALTER TABLE baza OWNER TO postgres;
答案 0 :(得分:2)
试试这个
CREATE TABLE baza
(
Name name NOT NULL DEFAULT 50,
ID integer NOT NULL,
Birth_Date text DEFAULT 0,
CONSTRAINT baza_pkey PRIMARY KEY ("ID")
)
WITH (
OIDS=FALSE
);
ALTER TABLE baza OWNER TO postgres;
然后尝试这个
QSqlQuery qsql;
qsql.prepare("INSERT INTO baza(Name, ID, Birth_Date)"
"VALUES (?, ?, ?)");
qsql.bindValue(0, "thisIsSomeName");
qsql.bindValue(1, 4);
qsql.bindValue(2, "0000");
if (qsql.exec())
{
label->setText("all is good");
}
这里有一些例子 sql sqlstatements