簡體   English   中英

將數據從 qt 插入到 postgres 數據庫錯誤

[英]Inserting data from qt to postgres database error

在過去的 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;

試試這個

    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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM