0

Accessにリンクし、adodbapiで正常に動作するコードがいくつかありますが、解決できない1つの問題があります。基本的に、Accessで列見出し「Key」と「Value」を使用して新しいテーブルを作成したいのですが、不要なコンマを含めない限り、機能するようです。次のエラーが発生します。

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()

このテーブルを使用するプログラムは他の名前を参照できないため、「キー」などに頼らずに、列見出しとデータを{キー、値}として挿入するにはどうすればよいですか?

助けてくれてありがとう。

4

1 に答える 1

0

それを理解すると、以下のように機能するには[ラッパー]が必要です。

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

見るのに苦労してくれた人に感謝します。

于 2012-08-22T08:13:06.933 に答える