我在数据库中有一个表,其中一列包含第一个名称和第二个名称(除以空格)。
我试图加载这些数据,将每一行拆分并再次保存到表中。可以这样显示数据,但是当我试图将数据保存回时,我得到
'NoneType' object has no attribute 'split'.
import sys, os, pyodbc
conn_str = (
r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
r'DBQ=C:/Users/vlcek/Desktop/pokusdb.accdb;'
)
connection = pyodbc.connect(conn_str)
cursor = connection.cursor()
cursor2 = connection.cursor()
sql="Select whole_name from people"
cursor.execute(sql)
for change in cursor:
devided=change[0].split()
print(devided[0]+"--"+devided[1])
sql2="Insert into people (user_id, Name, Surname) values (27, ?,?)"
cursor2.execute(sql2,(devided[0],devided[1]))
connection.close()
如果没有这两行,如果可以正常工作,我可以在控制台中显示数据,因此这两行中存在问题:
^{pr2}$我也试着创造了两个连接.cursor对象,但即使我只是在工作
^{pr3}$谢谢你的建议
瓦克拉夫
问题很可能是您在一个连接上保持两个游标打开。尝试获取第一个查询
rows = cursor.execute(sql).fetchall()
的所有行,然后迭代这些行。在您可以通过运行以下命令来检查这是否是问题的罪魁祸首(如建议的here):
所以不幸的是fetchall()也不起作用。最后我的解决办法就是这样
所以我:
不过还是要谢谢你的帮助。在
瓦茨拉夫
相关问题 更多 >
编程相关推荐