0
我正在使用PyQT4 + PostgreSQL 9.1制作用户管理系统。在写入用于建立与数据库连接的下面的代码,我得到语法错误: -连接字符串不适用于Python 2.7和PostgreSQL 9.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分贝= QSqlDatabase.addDatabase( “QPSQL”); ^ 语法错误:无效语法
在做出上述更改后,我没有收到任何错误。但是,当我运行python文件时,表格并未在PostgreSQL中创建。 – Chetan
分贝= QtSql.QSqlDatabase.addDatabase( “QPSQL”) db.setDatabaseName( “mysite的”) db.setUserName( “postgres的”) db.setPassword( “密码”) db.setHostName( “本地主机”) ok = db.open() – Chetan