2011-08-04 11 views
0

初心者からsqlとsqliteです。pysqlite、データベースを保存して後で開きます

私はデータベースを保存してから、別のフォルダにfile.dbをコピーして開きます。これまでのところ、データベースを作成し、file.dbを別のフォルダにコピーして貼り付けましたが、データベースにアクセスしようとすると、空になっています。

は、これまでのところ私は

from pysqlite2 import dbapi2 as sqlite 

conn = sqlite.connect('db1Thu_04_Aug_2011_14_20_15.db') 
c = conn.cursor() 
print c.fetchall() 

を持っており、出力は

[] 
+2

貼り付けた内容は有効な構文ではありません。使用している実際のコードを貼り付けてください。あなたのクエリはどこにありますか? – Mat

+0

私は構文エラーを修正したと思います。ありがとう – csta

+0

まだクエリがありません... – Mat

答えて

2

あなたは、私がマットをエコーし​​、それが有効な構文ではありません指摘する

c.execute("SELECT * FROM mytable") 
for row in c: 
    #process row 
+0

私は最初の行を試して、 "OperationalError:そのようなテーブルはありません:"(私は元のテーブル名を使用するようにしました) – csta

+1

SELECT * FROM sqlite_master where type = 'table' – sampwing

+0

上記のコメントに追加するだけです。 pysqliteを忘れて、このデータベースに必要なテーブルとデータがあることを確認してください。コマンドラインからsqliteを使用してデータベースに接続します。 'sqlite3 db1Thu_04_Aug_2011_14_20_15.db'。上記のSELECTステートメントを実行して、そこにあるテーブルを確認します。次に、SELECT * FROMテーブルのいずれかを実行して、期待するデータがあるかどうかを確認します。 – arunkumar

1

ようなものが必要です。それ以上に、あなたの例には選択要求(または他のsqlコマンド)は含まれていません。実際にコードにselect文がなく、新しく作成されたカーソルでfetchallを実行すると、空のリストが得られます。これはあなたが持っているようです。

最後に、正しいディレクトリからファイルを開いていることを確認してください。存在しないファイルを開くようにsqliteに指示すると、新しい空の空ファイルが作成されます。

+0

ありがとうございます。私は "c.execute(" SELECT * FROM dataB ")"と "OperationalError:no such table:dataB"を取得しようとしました。 – csta

+0

また、私はfile.dbを開いて、私がアクセスしようとしているデータがたくさんあることを知ったので、別のファイルが作成されたとは思えません。 – csta

関連する問題