0

PyQT4 +PostgreSQL9.1を使用してユーザー管理システムを作成しています。データベースとの接続を確立するために次のコードを記述しているときに、構文エラーが発生します:-

from PyQt4 import QtSql, QtGui , QtCore
import _sha256
import psycopg2


def createConnection(): 

    QSqlDatabase db = QSqlDatabase.addDatabase("QPSQL"); 
    db.setDatabaseName("mysite");
    db.setUserName("postgres");
    db.setPassword("password");
    db.setHostName("localhost");
    bool ok = db.open();
    if not db.open():
        QtGui.QMessageBox.critical(None, QtGui.qApp.tr("Cannot open database"),
                QtGui.qApp.tr("Unable to establish a database connection.\n"
                              "This example needs PostgreSQL support."),
                QtGui.QMessageBox.Cancel)
        return False

    query = QtSql.QSqlQuery()
    query.exec_("create table usermanagement(ID int primary key,"
                "userid int,firstname varchar(20), lastname varchar(20),usertype varchar(15),password varchar(20),)")
    query.exec_("insert into usermanagement values(1, 'Danny','Boyle','normaluser','normaluser')")

    return True

エラーメッセージは次のとおりです。-

QSqlDatabase db = QSqlDatabase.addDatabase( "QPSQL"); ^ SyntaxError:無効な構文

4

1 に答える 1

1

Pythonでは変数型を宣言できません。クラス名、スペース、変数名はPython構文ではありません。

ただやってくださいdb = QSqlDatabase.addDatabase("QPSQL")

(で同じ問題がありますbool ok = ...

QSqlDatabaseあなたのコードはまた、そもそもどこにも定義されていません。おそらくどこかからインポートするつもりです。

また、コードからすべてのセミコロンを削除します。これらはPythonのステートメントターミネータとしては必要なく、悪いスタイルと見なされます。

于 2012-08-30T11:11:28.477 に答える