我编写了一个简单的python程序,成功地从数据库中获取数据。但无法更新数据库中的表。 当执行update语句时,它被卡住了,什么都没有发生,没有任何异常。在
我的代码如下。知道为什么吗?在
from java.sql import DriverManager
def updateDB():
url = "jdbc:oracle:thin:@192.1.1.1:1521:auid"
uname = "dbtstj1"
pword = "dbtstj321"
conn = None
stmt = None
try:
conn = DriverManager.getConnection(url,uname,pword)
stmt = conn.createStatement()
rs = stmt.executeQuery("select PKG_NAME from PkgData")
while rs.next():
print rs.getString(1)
pkgName = "'Test Pkg Name'"
pkgID = "'T1234'"
updateQuary = "UPDATE PkgData SET PKG_NAME =%s WHERE PKG_ID =%s" %(pkgName, pkgID)
stmt.execute(updateQuary)
except Exception , e:
print 'Error:', e[0]
finally:
if stmt is not None:
stmt.close()
if conn is not None:
conn.close()
updateDB()
当查询请求数据类型和所需数据类型不同时,可能会发生这些类型的问题。 似乎与数据库的数据类型和您的查询不匹配。你能用你的查询重新检查数据库的数据类型吗。 例如:PKG_ID=%s可以是数据库中的另一种数据类型,如digital或etc。。。在
您需要将更改提交到数据库:
相关问题 更多 >
编程相关推荐