2017-09-14 16 views
0

PythonのDjangoフレームワークを使用してWebアプリケーションを構築しています.DBはPyodbcを使用してSQL Server Azureです。PythonでSQL Serverクエリを実行するとエラーが発生する

私は文字列で、パラメータでクエリを実行しているとき、私は最初のケースでは、空の結果を取得し、中

"sql = sql % tuple('?' * len(params)) 
      TypeError: not all arguments converted during string formatting" 

parameter(file_name)を取得しています、私は解決することができません問題があります2番目のケース、何が間違っていますか?

file_name=request.POST.get('filetodelete') 
    with connections['default'].cursor() as c: 
     1st case 
      parms=[file_name] 
      sql='select * from banks_row_data where file_name=%s' 
      c.execute (sql,parms) 
      test=c.fetchall() 
     2nd case 
      c.execute (sql,file_name) 
      test=c.fetchall() 
+2

Djangoで未加工のSQLを使用しているのはなぜですか? –

答えて

3

pyodbcパラメータプレースホルダではなく、%sとして?使用。

sql = 'select * from banks_row_data where file_name = ?' 

あなたがDjangoを使用しているので、本当にDjangoモデルレイヤーfurをこの種のクエリで使用する必要があります。

関連する問題