質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

2590閲覧

'sqlite3.Cursor' object is not callableのエラーを直したい

退会済みユーザー

退会済みユーザー

総合スコア0

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/10/28 15:50

編集2018/10/29 02:10

前提・実現したいこと

Python+SQLite3+Flaskで、ページで入力された数字に対して、この数字をIDとする情報を取り出そうとするシステムを作成中にエラーが発生しました。

発生している問題・エラーメッセージ

[2018-10-29 00:47:48,969] ERROR in app: Exception on /result [POST]
Traceback (most recent call last):
File "D:\program-file\VS\2017\Shared\Python36_64\lib\site-packages\flask\app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "D:\program-file\VS\2017\Shared\Python36_64\lib\site-packages\flask\app.py", line 1615, in full_dispatch_request
return self.finalize_request(rv)
File "D:\program-file\VS\2017\Shared\Python36_64\lib\site-packages\flask\app.py", line 1630, in finalize_request
response = self.make_response(rv)
File "D:\program-file\VS\2017\Shared\Python36_64\lib\site-packages\flask\app.py", line 1740, in make_response
rv = self.response_class.force_type(rv, request.environ)
File "D:\program-file\VS\2017\Shared\Python36_64\lib\site-packages\werkzeug\wrappers.py", line 921, in force_type
response = BaseResponse(*_run_wsgi_app(response, environ))
File "D:\program-file\VS\2017\Shared\Python36_64\lib\site-packages\werkzeug\wrappers.py", line 59, in _run_wsgi_app
return _run_wsgi_app(*args)
File "D:\program-file\VS\2017\Shared\Python36_64\lib\site-packages\werkzeug\test.py", line 923, in run_wsgi_app
app_rv = app(environ, start_response)
TypeError: 'sqlite3.Cursor' object is not callable

該当のソースコード

python3.6を使用しました。

import sqlite3
from flask import Flask, render_template , request
app = Flask(name)
dbpath="data.db"
conn=sqlite3.connect(dbpath)
cur=conn.cursor()

@app.route("/")
def index():
return render_template("index.html")

@app.route("/result" , methods=["POST"])
def result():
t=request.form["mail"]
res=cur.execute("select * from master where No=?",(t,))
conn.close()
return res

if name == "main":
app.run()

こちらはindex.htmlの中身です。

<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>system</title> </head> <body> <p>IDを入力してください。<p></p> <form method="post" action="/result"> <input type="text" name="mail"><input type="submit" value="Send"> </form> </body> </html>

どこかでカーソルを変数として(逆?)代入していると推測し、そのような箇所を探しましたがいまいち理解できませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

return resが誤っていたので、
resをもう一度変数で置き直して解決しました

投稿2018/10/29 15:45

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問