• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:python2.5を使用してSQLite3のデータベースを読み込みたいのです。)

Python2.5でSQLite3のデータベースを読み込む方法

このQ&Aのポイント
  • Python2.5を使用してSQLite3のデータベースを読み込む方法を解説します。
  • Python2.5を使ってSQLite3のデータベースを読み込む際に発生するエラーについての解決策を提供します。
  • Python2.5のコードを使用してSQLite3のデータベースを読み込むための正しい書き方を説明します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

さっきのコードの訂正です。インデントする箇所が一箇所抜けておりました。 import sqlite3 con = sqlite3.connect("hogedb") cur = con.cursor() try: ____cur.execute("""create table hoge (name text, age text)""") ____cur.execute("""insert into hoge(name,age) values ('YAMADA', '18')""") ____cur.execute("""insert into hoge(name,age) values ('NAKAMURA', '17')""") except: ____pass con.commit() cur.execute("""select * from hoge""") print cur.fetchall() raw_input()

その他の回答 (2)

回答No.2

CREATEしただけで、何もINSERTしていないのですから、 中身は空っぽの状態なので、print cur.fetchall()で 空のリストが返されるのは当然です。 cur.execute("""create table hoge (name text, age text)""") でエラーがでるのは、2回目に実行した場合だと思います。 (すでにテーブルが存在するのでエラーになる) これは、if文で確認して処理を分けるなどの対応が必要です。 以下は、それを踏まえたコードです。 ____ の部分は、半角スペース4つに読み替えてください。 import sqlite3 con = sqlite3.connect("hogedb") cur = con.cursor() try: ____cur.execute("""create table hoge (name text, age text)""") ____cur.execute("""insert into hoge(name,age) values ('YAMADA', '18')""") cur.execute("""insert into hoge(name,age) values ('NAKAMURA', '17')""") except: ____pass con.commit() cur.execute("""select * from hoge""") print cur.fetchall() raw_input()

konna
質問者

お礼

有難うございました。とても参考になりました

  • suzukikun
  • ベストアンサー率28% (372/1325)
回答No.1

>cur.execute("""create table テーブル名(name text,age text)""") が cur.executescript("""create table テーブル名(name text,age text)""") じゃないでしょうか?

参考URL:
http://d.hatena.ne.jp/seraphy/20060927
konna
質問者

補足

有難うございます。エラーがなくなりました。しかし、print cur.fetchall()をすると[ ]と表示され、中身が表示されないのですが、原因が分かりますでしょうか?何度もすいませんが宜しくお願いします。

関連するQ&A