我尝试在 python 中创建一个用于数据库连接的函数。但这现在正在发挥作用。这是我的定义代码。
def connect():
dsn = cx_Oracle.makedsn(host='MYHOST', sid='DEVPRON', port=1521)
conn = cx_Oracle.connect(user='root', password='***', dsn=dsn)
cur = conn.cursor()
return [cur,conn]
Run Code Online (Sandbox Code Playgroud)
每次调用 connect 函数时,我都会返回 conn 和 cur 。这是我调用该函数时的代码
connect()[0].execute("insert into tbluser (fullname,nickname) values ('" + fname + "', '" + nname + "') ")
connect()[1].commit()
Run Code Online (Sandbox Code Playgroud)
当我运行此命令时,没有发生错误,但是当我检查数据库时,没有插入行。请帮忙。谢谢
每次调用 connect 函数时,您都会创建与数据库服务器的新连接。因此,您的第一个调用将执行一个查询。第二次通话将为您提供新的连接。您正在使用这个新连接进行承诺,但没有发生任何变化。试试这个:
def connect():
dsn = cx_Oracle.makedsn(host='MYHOST', sid='DEVPRON', port=1521)
conn = cx_Oracle.connect(user='root', password='***', dsn=dsn)
cur = conn.cursor()
return cur, conn
cur, conn = connect()
cur.execute("insert into tbluser (fullname,nickname) values ('" + fname + "', '" + nname + "') ")
conn.commit()
Run Code Online (Sandbox Code Playgroud)