Pythonスクリプトでsqliteデータベースに簡単なクエリを書き込もうとしています。パラメータが正しいかどうかをテストするために、ipython コマンド ラインからクエリを実行してみました。それは次のように見えました:
import sqlite3
db = 'G:\path\to\db\file.sqlite'
conn = sqlite3.connect(db)
results = conn.execute('SELECT * FROM studies').fetchall()
何らかの理由で、私の結果は完全に空になりました。次に、別のテスト クエリを試しました。
results = conn.execute('SELECT id FROM studies').fetchall()
正しく返されました。アスタリスクに問題があると考えた [間違い、以下の 2 番目の更新を参照] ので、デフォルトの Python コマンド ラインから 'SELECT * FROM Studies' クエリを試しました。見よ、それは正しく戻った。アスタリスクをエスケープする通常の方法をすべて試しましたが、さまざまなエラー メッセージが表示されました。このクエリを IPython で実行する方法はありますか?
編集: 申し訳ありませんが、IronPython と IPython が同じであると誤って想定していました。私が意味したのは、IPython コマンド ラインであり、IronPython フレームワークではありません。
EDIT2: さて、この成功したクエリで示されているように、アスタリスクが機能することがわかりました:
'SELECT COUNT(*) FROM studies'
ここに投稿された提案から、複数のフィールドを持つレコードを返そうとするとエラーが発生することがわかります。
'SELECT field1,field2 FROM studies'
それでもレコードが返されます。それに応じて質問のタイトルを変更しました。