0
最近、Pythonに精通しており、SQLiteデータベースにアクセスしてSELECTクエリからデータを表示するための簡単なコードを書いていました。私はプロシージャプログラミングの側面に焦点を当てているので、データベース接続とデータ検索は次のように2つの関数に書き込まれました。関数間でSQLite Cursorオブジェクトを呼び出す方法は?
def AccessDB():
global BCDB,curVehicle,VehicleTB
BCDB = sqlite3.connect('D:\CabDB.sqlite')
curVehicle = BCDB.cursor()
VehicleTB = BCDB.cursor()
def getData():
curVehicle.execute('SELECT * FROM Vehicle')
Result=curVehicle.fetchall()
print(Result[0])
List1.insert(0,Result[0][0])
し、メインプログラム:実行すると
AccessDB()
getData()
、私はエラーを以下の取得:
line 57, in getData
curVehicle.execute('SELECT * FROM Vehicle')
NameError: name 'curVehicle' is not defined
ライン57は、文を.executeを指します。 これは、グローバル変数が呼び出しスコープで受け入れられないことが問題である可能性があることを意味します。 このコードに何か問題がありますか?関数の外
は、メインプログラムと同じモジュール内で定義されたAccessDBとgetDataですか? – BenJ