#encoding: utf-8
import MySQLdb
import datetime
#Conectar a la base de datos
try:
db = MySQLdb.connect("localhost","root", "", "gesmol")
cursor = db.cursor()
except:
print "No se ha podido esteblecer conexion con el servidor."
raw_input()
exit
#Funcion ingresar
def ingresar():
print "********** ALTA DE CLIENTES **********: \n"
codigo = int(raw_input("Ingrese el Codigo del Cliente: "))
nombre = raw_input("Ingrese el Nonbre del Cliente: ")
poblacion = raw_input("Ingrese la Población del Cliente: ")
cif = raw_input("Ingrese el CIF del Cliente: ")
sql = "INSERT INTO clientes(codigo, nombre, poblacion, cif)\
VALUES('%s','%s','%s','%s')" % \
(codigo, nombre, poblacion, cif)
cursor.execute(sql) #Ejecuta los cambios en la base de datos
db.commit() #Confirma los cambios en la base de datos
RegresarMenu()
#Funcion listar
def listar():
sql = "SELECT * FROM clientes"
cursor.execute(sql)
resultados = cursor.fetchall() #muestra la fila
for row in resultados:
print "%s %s %s %s" %(row[0],row[1],row[2],row[3])
RegresarMenu()
#Consultar por nombre
def consultarNombre():
nombre = raw_input("Ingrese el nombre del cliente ")
sql = "SELECT * FROM clientes WHERE Nombre = '%s'" %(nombre)
cursor.execute(sql)
resultados = cursor.fetchall()
for row in resultados:
print "Codigo: " , row[0]
print "Nombre: " , row[1]
print "Poblacion:" , row[2]
print "CIF: " , row[3]
RegresarMenu()
#modificar
def modificar():
codigo = int(raw_input("Ingrese el codigo del cliente "))
sql = "SELECT * FROM clientes WHERE codigo = '%s'" %(codigo)
cursor.execute(sql)
resultados = cursor.fetchall()
for row in resultados:
print row
print "Que quieres modificar? "
print "1 - Nombre "
print "2 - Poblacion"
print "3 - CIF"
op=raw_input("")
if op =="1":
nombreN = raw_input("Escribe el nuevo Nombre: ")
cursor.execute("UPDATE clientes SET nombre = '%s' WHERE codigo = '%s' " %(nombreN, codigo))
db.commit()
RegresarMenu()
if op =="2":
poblacionN = raw_input("Escribe la nueva Poblacion: ")
cursor.execute("UPDATE clientes SET poblacion = '%s' WHERE codigo = '%s' " %(poblacionN, codigo))
db.commit()
RegresarMenu()
if op =="3":
cif=raw_input("Escribe el nuevo CIF: ")
cifN = raw_input("Escribe el nuevo CIF: ")
cursor.execute("UPDATE clientes SET cif = '%s' WHERE codigo = '%s' " %(cifN, codigo))
db.commit()
RegresarMenu()
#eliminar
def eliminar():
codigo = int(raw_input("Ingrese el codigo del cliente "))
sql = "SELECT * FROM clientes WHERE codigo = '%s'" %(codigo)
cursor.execute(sql)
resultados = cursor.fetchall()
for row in resultados:
print row
eliminar = raw_input("Quieres eliminar este cliente ")
if eliminar == "S" or "s":
cursor.execute("DELETE FROM clientes WHERE codigo = '%s'" %(codigo))
db.commit()
RegresarMenu()
else:
RegresarMenu()
def altafa():
print "********** ALTA DE FACTURAS **********: "
numero = int(raw_input("Ingrese el numero de factura: "))
fecha = raw_input("Ingrese la fecha de la factura: ")
importe = int(raw_input("Ingrese el importe de la factura: "))
codigo_cli = int(raw_input("Ingrese el codigo del Cliente: "))
sql = "INSERT INTO facturas(factura, fecha, codigo_cli, importe) VALUES(%s, %s, %s, %s)"
cursor.execute(sql, (numero,fecha,codigo_cli,importe))
db.commit()
RegresarMenu()
def listafa():
sql = "SELECT * FROM facturas"
cursor.execute(sql)
resultados = cursor.fetchall()
for row in resultados:
print "%s %s %s %s" %(row[0],row[1],row[2],row[3])
RegresarMenu()
def RegresarMenu():
print "------------------------------------------------------------"
raw_input("\nPresion cualquier tecla para regresar al menu anterior...")
Menu()
#MENU6
def Menu():
print """
----------------------------------------------------------------
Opciones disponibles
----------------------------------------------------------------
1. - Alta de Clientes
2. - Listado de Clientes
3. - Consultar de un cliente por nombre.
4 - Modificar un cliente.
5.- Eliminar un cliente.
6.- Alta de factura
7.- Listar facturas
9. - Finalizar el programa.
-----------------------------------------------------------------
"""
try:
opcion = int(raw_input("\n Ingrese una opción "))
except:
print "\nError: El valor ingresado no es de tipo numerico, por favor vuelva a intentarlo"
RegresarMenu()
try:
if opcion == 1:
ingresar()
elif opcion == 2:
listar()
elif opcion == 3:
consultarNombre()
elif opcion == 4:
modificar()
elif opcion == 5:
eliminar()
elif opcion == 6:
altafa()
elif opcion == 7:
listafa()
elif opcion == 9:
print "El programa se esta cerrando..."
try:
db.close()
exit()
except:
exit()
else:
print "Error"
RegresarMenu()
except MySQLdb.Error, e:
print "\nError Final", e
RegresarMenu()
Menu()