0

我有一些链接到 Access 的代码,并且可以与 adodbapi 一起正常工作,除了一个我无法解决的琐碎问题。基本上我想用列标题“键”和“值”在 Access 中创建一个新表,但它似乎工作,除非我包含我不想要的逗号。我收到以下错误:

adodbapi.adodbapi.DatabaseError:(-2147352567,'发生异常。',(0,u'Microsoft JET 数据库引擎',u'字段定义中的语法错误。',无,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”等,因为使用该表的程序不能引用其他名称?

谢谢你的帮助。

4

1 回答 1

0

想通了,它需要一个 [wrapper] 来工作,如下所示:

cur.execute('CREATE TABLE OtherInfo([Key] VARCHAR(100), [Value] VARCHAR(100))') 

感谢任何不厌其烦的人观看。

于 2012-08-22T08:13:06.933 回答