Python - Duda sobre una consulta en Python.No consigo arreglarlo

   
Vista:

Duda sobre una consulta en Python.No consigo arreglarlo

Publicado por Francisco (1 intervención) el 15/08/2016 12:28:43
Buenos días, me llamo Fran .
Estoy realizando consultas pidiendo campos de tipo TEXT.
Agradecería mucho vuestra ayuda.
El error que me pone a la hora de hacer la consulta
Traceback (most recent call last):
File "/home/manuel/sqlite/borrar01/cons222.py", line 23, in <module>
curdb.execute(sql01, {'nombre':name})
OperationalError: near "%": syntax error

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python
#-*-coding: utf-8 -*-
 
import sqlite3
 
print'-------------------------------'
print'------ESTABLECER CONEXION------'
print'-------------------------------'
dbprueba = raw_input('Introducir el nombre la DB: ')
 
condb = sqlite3.connect(dbprueba)
 
print'---------CONEXION OK-----------'
 
curdb = condb.cursor()
 
#6-Crear las consultas
print'Los valores de la tabla alumnos son: '
 
name = raw_input('Introducir id: ')
 
sql01 ="SELECT * FROM alumnos WHERE nombre=%(nombre)s"
curdb.execute(sql01, {'nombre':name})
resultado = curdb.fetchall()
 
#print(registro)
 
for registro in resultado:
    print'ID: ',registro[0], 'Nombre: ',registro[1], 'Carrera: ',registro[2], 'Grado: ',registro[3]
 
#7-Cerrar la db
condb.close(
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Duda sobre una consulta en Python.No consigo arreglarlo

Publicado por cesar (6 intervenciones) el 22/09/2016 18:21:52
Quiza ya encontraste tu error pero aun asi lo pongo:
modifica:
sql01 ="SELECT * FROM alumnos WHERE nombre=%(nombre)s"
por:
sql01 ="SELECT * FROM alumnos WHERE nombre=%s"%(nombre)

(nombre) debe estar definido antes de ser llamado
dbprueba debera ser el nombre completo incluida la extensión para poder ser llamado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar