nabenabebe
@nabenabebe

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

データベースに関する質問

実行結果が表示されない

データベースsample2.dbを作って登録したあと、出力するようなプログラムをコラボラトリーで作成しているのですが、どうも実行結果が表示されなく、原因がわかりません。解決方法などはありますか?教えていただけると幸いです。テーブルを作成するセルとデータの登録や表示を行うセルは分けています。pythonQ1.jpg
pythonQ2.jpg

0

1Answer

データ挿入1~6の部分ですが、変数sqlにSQL文を代入した後、execute()が必要ではないでしょうか?
データが挿入されていないので select しても表示するものが無いのだと思います。

2Like

Comments

  1. @nabenabebe

    Questioner

    返答ありがとうございます。教えてくださった通りにしたつもりなのですが、エラーが出てしまいます。多分私の思い違いやただの初歩的なミスだとは思うのですが、他にするべきことがあれば教えていただけると幸いです。pythonQ3.jpg

  2. sql = "insert into ...."
    と書かれている部分はsqlという変数(箱)に文字を入れているだけでこれ自身はデータベースを操作するものではありません。

    追記されたcsr.execute()ですが、これもデータベースへ「実行せよ」と命じているだけで「何を」という部分がありません。

    create table でテーブルを作成する箇所や、select でデータを取得するところでもcsr.execute()を使っていますが、違いをよくみると足りない部分が理解できると思います。

  3. 特別、sqlite3の知識を持ち合わせていませんが、どんな場合にも言えることは
    エラーメッセージをちゃんと読みましょう。』です。

    TypeError: excute excepted at least 1 argument, got 0

    Google翻訳:TypeError: 実行には少なくとも 1 つの引数が必要ですが、0 を取得しました (「実行」と訳されていますが、excuteのことでしょう)

    「矢印で示された行番号24のcsr.execute()に引数が無いよ」というエラーです。

    execute()の引数で複数のsqlを指定できるならば 最後に1回でよいですが、
    1回一つだけなら、insert文一つ一つにexecute(sql)が必要だと思います。

Your answer might help someone💌