我正在尝试使用 python 在 sqlite 文件中编辑和创建新数据。
def save_updated_data(self, entry_values, update_window, current_row_data):
updated_row_data = {}
for entry, (label, value) in zip(entry_values, current_row_data.items()):
updated_row_data[label] = entry.get() if entry.get() else value
row_index = self.data.index(current_row_data)
self.data[row_index] = updated_row_data
self.save_to_sqlite()
messagebox.showinfo("Update", "Data updated successfully!")
update_window.destroy()
self.display_data()
def create_data_window(self, conn):
cur = conn.cursor()
cur.execute(f"INSERT INTO {table_name} VALUES ({','.join(['?']*len(new_data))})", new_data)
conn.commit()
messagebox.showinfo("Create Data", "Data successfully created.")
def save_created_data(self, entry_values, create_window):
cur = conn.cursor()
cur.execute(f"INSERT INTO {table_name} VALUES ({','.join(['?']*len(new_data))})", new_data)
conn.commit()
messagebox.showinfo("Create Data", "Data successfully created.")
def save_to_sqlite(self, conn, table_name, row_index, column_index, new_value):
cursor = self.conn.execute('SELECT * FROM sqlite_master WHERE type="table" LIMIT 1')
table_name = cursor.fetchone()[1]
with self.conn:
self.conn.execute(f"INSERT INTO {table_name} VALUES (NULL, ?, ?)", (row["column1"], row["column2"]))
for row in self.data:
self.conn.execute("INSERT INTO road_data VALUES (NULL, ?, ?)", (row["column1"], row["column2"]))
我真的不知道为什么它没有被保存。它确实给了我一些错误,例如参数错误。我只是编码新手,到目前为止我真的很喜欢它,只是有时像这样很困难。谢谢你。
确保正确打开和关闭连接和光标,如果您是初学者,这很可能是一个原因。 您的数据库被锁定了吗? 然后你最好检查一下数据库上有多少个 OPEN 游标。
如果没有看到你的错误,我无法告诉你,但这就是我身上经常发生的事情。