我有一些代码链接到Access并且与adodbapi一起正常工作,除了一个我无法解决的琐碎问题。基本上我想在Access中使用列标题“键”和“值”创建一个新表,但除非我包含我不想要的逗号,否则它似乎有效。 我收到以下错误:
adodbapi.adodbapi.DatabaseError:(-2147352567,'异常发生。',(0,u'Microsoft JET数据库引擎',字段定义中的u'Syntax错误。',无,5003292,-2147217900) ,无)
import adodbapi
# create the DSN execution string and point it to the desired Database
database = 'D:\Temp.mdb'
constr = 'Provider=Microsoft.Jet.OLEDB.4.0; Data Source=%s ' % database
conn = adodbapi.connect(constr)
# create a cursor
cur = conn.cursor()
# below doesnt work
cur.execute('CREATE TABLE OtherInfo(Key VARCHAR(100), Value VARCHAR(100))')
# but this does
cur.execute('CREATE TABLE OtherInfo(Key2 VARCHAR(100), Value2 VARCHAR(100))')
# so does this
cur.execute('CREATE TABLE OtherInfo('Key' VARCHAR(100), 'Value' VARCHAR(100))')
# this also fails unless similar to above
cur.execute("INSERT INTO OtherInfo(Key,Value) VALUES('AppName','XXX')")
# close the cursor and connection
conn.commit() # this saves all of the changes made above
cur.close()
conn.close()
如何将列标题和数据插入{Key,Value}而不必求助于'Key'等,因为使用此表的程序无法引用其他名称?
感谢您的帮助。
答案 0 :(得分:0)
想出来,它需要一个[包装]工作如下:
cur.execute('CREATE TABLE OtherInfo([Key] VARCHAR(100), [Value] VARCHAR(100))')
感谢任何麻烦观看的人。