Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro para mostrar um id acima de 9 no Flask

Funcao que executa no banco de dados

def mostrar_db_item(id_item):
    conn = sqlite3.connect('costumer.db')
    c = conn.cursor()
    c.execute("SELECT rowid,* from uvas WHERE rowid = (?)",(id_item))
    item = c.fetchall()
    conn.commit()
    conn.close()    
    return item

Rota que gera a visualizacao

@app.route('/uva/<int:id>')
def uva(id):
    item = mostrar_db_item(escape(id))
    return render_template('uva.html', titulo="Uva",  item=item)

Template

        {% for items in item %}
         <tr>
         <td>{{items[0]}}</td>            
         <td>{{items[1]}}</td>
         <td>{{items[2]}}</td>         
         </tr>
        {% endfor %}

Se a rota for menos que 9 esta funcionando se for com 2 digitos ele da erro, alguem pode me ajudar?

3 respostas

Quando eu substituo

c.execute("SELECT rowid,* from uvas WHERE rowid = (?)",(id_item))

por

c.execute("SELECT rowid,* from uvas WHERE rowid = '12' ")

funciona, mas como gerar dinamicamente? cara, tem algum erro nessa querie alguem me ajuda?

Alguem pode me ajudar? pelo visto o erro está na query e na variavel que substitui o (?) mas nao sei se é isso e nao sei como ajustar, alguem pode me ajudar ?

solução!

descobri!!! faltou uma virgula na query, ai ele na entendia a tupla... kkk (,)

(id_item),

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software