2012-04-05 78 views
0

在過去的2-3天裏,我在從Qt程序中插入數據到postgres databse時遇到了問題。從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

你好, 什麼是'數據類型Name' 和約你給巴扎的全表腳本?這將是有益的 – PresleyDias 2012-04-05 11:46:34

+0

@PresleyDias我已經把baza的腳本。感謝您的幫助 – depecheSoul 2012-04-05 12:34:21

+0

哎放下你的表,試試這個'CREATE TABLE巴扎 ( 名稱名稱NOT NULL DEFAULT 50, ID整數NOT NULL, 出生日期文本默認值0, 約束baza_pkey PRIMARY KEY( 「ID」) ( ) WITH( OIDS = FALSE ); ALTER TABLE baza OWNER TO postgres; ' – PresleyDias 2012-04-05 12:36:54

回答

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

+0

非常感謝你的幫助,我已經完成了。 – depecheSoul 2012-04-05 13:25:56

+0

[accept_if_the_answer_helped](http://meta.stackexchange.com/questions/5234/how-does-accepting -an-answer-work) – PresleyDias 2012-04-05 13:31:16

+0

@depecheSoul:您可能需要重新訪問有關標識符的手冊:http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX -IDENTIFIERS – 2012-04-05 13:50:08