Python 我有错误';尝试使用闭合连接;
我的代码有一些问题。因此,我想通过在表单中写入数据来向ACCES添加数据。(我不太擅长编程) 另外,如果我将此代码(如下)更改为Python 我有错误';尝试使用闭合连接;,python,ms-access,tkinter,pypyodbc,Python,Ms Access,Tkinter,Pypyodbc,我的代码有一些问题。因此,我想通过在表单中写入数据来向ACCES添加数据。(我不太擅长编程) 另外,如果我将此代码(如下)更改为a='*任意数*'b='*任意数*',程序将工作 a = Entry (form, width=20, font="Arial 16") a.pack () b = Entry (form, width=20, font="Arial 16") b.pack () 如果要在调用Add之前关闭连接,请将close调用移到代码底部。对于.close()语句,一般的最佳做法
a='*任意数*'b='*任意数*'
,程序将工作
a = Entry (form, width=20, font="Arial 16")
a.pack ()
b = Entry (form, width=20, font="Arial 16")
b.pack ()
如果要在调用Add之前关闭连接,请将close调用移到代码底部。对于.close()语句,一般的最佳做法是将它们放在代码末尾。但在这种情况下,这可能会产生错误。现在请尝试删除.close()语句
from tkinter import *
import pypyodbc
import ctypes
form=Tk ()
form.title ("Add data")
form.geometry ('400x200')
#Create connection
con = pypyodbc.connect('DRIVER={Microsoft Access Driver(*.mdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5; MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:/Users/HP/Desktop/PITL;DBQ=C:/Users/HP/Desktop/PITL/PITL.mdb;')
cursor = con.cursor ()
a = Entry (form, width=20, font="Arial 16")
a.pack ()
b = Entry (form, width=20, font="Arial 16")
b.pack ()
def Add (event):
cursor.execute ("INSERT INTO Crime (`Number_of_article`, `ID_of_criminal`) VALUES (?, ?)", (a, b))
Button=Button(form, text = 'PUSH ME')
Button.pack ()
Button.bind ('<Button-1>', Add)
form.mainloop ()
con.commit ()
从tkinter导入*
导入PyODBC
导入ctypes
形式=Tk()
表格标题(“添加数据”)
form.geometry('400x200')
#创建连接
con=pypyodbc.connect('DRIVER={Microsoft Access DRIVER(*.mdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:/Users/HP/Desktop/PITL;DBQ=C:/Users/HP/Desktop/PITL/PITL.mdb;'))
cursor=con.cursor()
a=条目(表格,宽度=20,font=“Arial 16”)
a、 包()
b=条目(表格,宽度=20,font=“Arial 16”)
b、 包()
def添加(事件):
cursor.execute(“插入到犯罪(`Number\u of theu article`,`ID\u of theu criminal`)值(?,”,(a,b))
按钮=按钮(形式,文本='按我')
Button.pack()
Button.bind(“”,添加)
form.mainloop()
con.commit()
记住Add()
函数实际执行的时间点。@klaud。因此,我必须将Add(event)
更改为Add()
?这绝对不是我写的。打开连接后,您将直接关闭连接。执行的时间要晚得多。我已经执行了,但没有任何更改,很抱歉,还有一个错误(下一条评论)还有另一个错误,文件“C:\Users\HP\AppData\Local\Programs\Python\Python36-32\lib\site packages\pypypyodbc-1.3.4-py3.6.egg\pypypyodbc.py”,第1296行,如果参数类型为[col\u num][][]0]='u':TypeError:'type'对象不可下标
我无法放入所有文本
a = Entry (form, width=20, font="Arial 16")
a.pack ()
b = Entry (form, width=20, font="Arial 16")
b.pack ()
from tkinter import *
import pypyodbc
import ctypes
form=Tk ()
form.title ("Add data")
form.geometry ('400x200')
#Create connection
con = pypyodbc.connect('DRIVER={Microsoft Access Driver(*.mdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5; MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:/Users/HP/Desktop/PITL;DBQ=C:/Users/HP/Desktop/PITL/PITL.mdb;')
cursor = con.cursor ()
a = Entry (form, width=20, font="Arial 16")
a.pack ()
b = Entry (form, width=20, font="Arial 16")
b.pack ()
def Add (event):
cursor.execute ("INSERT INTO Crime (`Number_of_article`, `ID_of_criminal`) VALUES (?, ?)", (a, b))
Button=Button(form, text = 'PUSH ME')
Button.pack ()
Button.bind ('<Button-1>', Add)
form.mainloop ()
con.commit ()