Mostrando entradas con la etiqueta base de datos. Mostrar todas las entradas
Mostrando entradas con la etiqueta base de datos. Mostrar todas las entradas

viernes, 21 de octubre de 2022

Ejercicio practico Sqlite con Python

Crea una aplicacion Python para registrar las ventas diarias de 2 o 3 tiendas,
la aplicacion debera ser de tipo ventana (usa tkinter por ejemplo), con 1 boton
para borrar datos, otro para grabar y otro para obtener una consulta por fechas.




sábado, 19 de junio de 2021

Ejercicio practico, Agenda con Tkinter y SQLite en Python

 


#Script principal

from tkinter import *
from tkinter import messagebox
from baseDatos import *
ANCHO = 560
ALTO = 540
POSX = 300
POSY = 400
anchoAlto = str(ANCHO)+"x"+str(ALTO)
posicionX = "+"+str(POSX)
posicionY = "+"+str(POSY)
colorVentana = "blue"
colorLetra = "white"


def mostrarMensaje(titulo, mensaje):
    messagebox.showinfo(titulo, mensaje)


def limpiarDatos():
    nombre.set("")
    apellidos.set("")
    telefono.set("")
    email.set("")
    ID.set(0)
    text.delete(1.0, END)


def guardar():
    crearTabla()
    if((nombre.get() == "") or (apellidos.get() == "")):
        mostrarMensaje("Error", "Debes rellenar los datos")
    else:
        datos = nombre.get(), apellidos.get(), telefono.get(), email.get()
        mostrarMensaje("Guardar", "Contacto guardado")
        insertar(datos)
        limpiarDatos()
        mostrar()


def actualizar():
    crearTabla()
    if((ID.get() == "") or (ID.get() == 0) or (nombre.get() == "")):
        mostrarMensaje("Error", "Debes rellenar los datos")
    else:
        try:
            modificar(ID.get(), nombre.get(), apellidos.get(),
                      telefono.get(), email.get())
            mostrarMensaje("Modificar", "Contacto modificado")
            limpiarDatos()
            mostrar()
        except:
            mostrarMensaje("Error", "Identificador no encontrado")


def eliminar():
    if((ID.get() == "") or (ID.get() == 0)):
        mostrarMensaje("Error", "Debes insertar un identificador valido")
    else:
        try:
            borrar(ID.get())
            mostrarMensaje("Borrar", "Contacto borrado")
            limpiarDatos()
            mostrar()
        except:
            mostrarMensaje("Error", "Identificador no encontrado")


def mostrar():
    listado = consultar()
    text.delete(1.0, END)
    text.insert(INSERT, "ID\tNombre\tApellidos\t\tTelefono\tEmail\n")
    for elemento in listado:
        id = elemento[0]
        nombre = elemento[1]
        apellidos = elemento[2]
        telefono = elemento[3]
        email = elemento[4]
        text.insert(INSERT, id)
        text.insert(INSERT, "\t")
        text.insert(INSERT, nombre)
        text.insert(INSERT, "\t")
        text.insert(INSERT, apellidos)
        text.insert(INSERT, "\t\t")
        text.insert(INSERT, telefono)
        text.insert(INSERT, "\t")
        text.insert(INSERT, email)
        text.insert(INSERT, "\n")


ventana = Tk()
ventana.config(bg=colorVentana)
ventana.geometry(anchoAlto+posicionX+posicionY)
ventana.title("Agenda")
frame = Frame()
frame.config(width=ANCHO, height=ALTO)
frame.config(bg=colorVentana)
frame.pack()
# variables
ID = IntVar()
nombre = StringVar()
apellidos = StringVar()
telefono = StringVar()
email = StringVar()
# widgets
etiquetaID = Label(frame, text="ID: ").place(x=50, y=50)
cajaID = Entry(frame, textvariable=ID).place(x=130, y=50)
etiquetaNombre = Label(frame, text="Nombre: ").place(x=50, y=90)
cajaNombre = Entry(frame, textvariable=nombre).place(x=130, y=90)
etiquetaApellidos = Label(frame, text="Apellidos: ").place(x=50, y=130)
cajaApellidos = Entry(frame, textvariable=apellidos).place(x=130, y=130)
etiquetaTelefono = Label(frame, text="Telefono: ").place(x=50, y=170)
cajaTelefono = Entry(frame, textvariable=telefono).place(x=130, y=170)
etiquetaEmail = Label(frame, text="Email: ").place(x=50, y=210)
cajaEmail = Entry(frame, textvariable=email).place(x=130, y=210)
text = Text(frame)
text.place(x=50, y=240, width=500, height=200)
botonAñadir = Button(frame, text="Añadir",
                     command=guardar).place(x=150, y=500)
botonBorrar = Button(frame, text="Borrar",
                     command=eliminar).place(x=200, y=500)
botonConsultar = Button(frame, text="Consultar",
                        command=mostrar).place(x=250, y=500)
botonModificar = Button(frame, text="Actualizar",
                        command=actualizar).place(x=320, y=500)
ventana.mainloop()

#Script base de datos

import sqlite3


def conectar():
    conexion = sqlite3.connect("agenda.db")
    cursor = conexion.cursor()
    return conexion, cursor


def crearTabla():
    conexion, cursor = conectar()
    sql = """
        CREATE TABLE IF NOT EXISTS agenda(
            id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
            nombre VARCHAR(20) NOT NULL,
            apellidos VARCHAR(20) NOT NULL,
            telefono VARCHAR(14) NOT NULL,
            email VARCHAR(20) NOT NULL
        )
    """
    if(cursor.execute(sql)):
        print("Tabla creada")
    else:
        print("No se pudo crear la tabla")
    conexion.close()


def insertar(datos):
    conexion, cursor = conectar()
    sql = """
    INSERT INTO agenda(nombre,apellidos,telefono,email) VALUES (?,?,?,?)
    """
    if(cursor.execute(sql, datos)):
        print("Datos guardados")
    else:
        print("No se pudieron guardar los datos")
    conexion.commit()
    conexion.close()


def consultar():
    conexion, cursor = conectar()
    sql = "SELECT id,nombre,apellidos,telefono,email from agenda"
    cursor.execute(sql)
    listado = []
    for fila in cursor:
        listado.append(fila)
        # print("ID = ", fila[0])
        # print("Nombre = ", fila[1])
        # print("Telefono = ", fila[2], "\n")
    listado.sort()
    conexion.close()
    return listado


def modificar(id, nombre, apellidos, telefono, email):
    conexion, cursor = conectar()
    sql = "UPDATE agenda SET nombre='"+nombre+"',apellidos='"+apellidos + \
        "', telefono='"+telefono+"', email='"+email+"' where ID="+str(id)
    cursor.execute(sql)
    cursor.close()
    conexion.commit()
    conexion.close()


def borrar(id):
    conexion, cursor = conectar()
    sql = "DELETE from agenda where ID="+str(id)
    cursor.execute(sql)
    cursor.close()
    conexion.commit()
    conexion.close()


lunes, 14 de junio de 2021

Modificar y borrar datos en SQLite con Python

 



Codigo completo:

import sqlite3


def conectar():
    conexion = sqlite3.connect("miBD.db")
    cursor = conexion.cursor()
    return conexion, cursor


def crearTabla():
    conexion, cursor = conectar()
    sql = """
        CREATE TABLE IF NOT EXISTS agenda(
            id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
            nombre VARCHAR(20) NOT NULL,
            telefono VARCHAR(14) NOT NULL
        )
    """
    if(cursor.execute(sql)):
        print("Tabla creada")
    else:
        print("No se pudo crear la tabla")
    conexion.close()


def insertar(datos):
    conexion, cursor = conectar()
    sql = """
    INSERT INTO agenda(nombre,telefono) VALUES (?,?)
    """
    if(cursor.execute(sql, datos)):
        print("Datos guardados")
    else:
        print("No se pudieron guardar los datos")
    conexion.commit()
    conexion.close()


def consultar():
    conexion, cursor = conectar()
    cursor.execute("SELECT id,nombre,telefono from agenda")
    for fila in cursor:
        print("ID = ", fila[0])
        print("Nombre = ", fila[1])
        print("Telefono = ", fila[2], "\n")
    conexion.close()


def modificar(id, telefono):
    conexion, cursor = conectar()
    sql = "UPDATE agenda SET TELEFONO="+telefono+" where ID="+id
    cursor.execute(sql)
    cursor.close()
    conexion.commit()
    conexion.close()


def borrar(id):
    conexion, cursor = conectar()
    sql = "DELETE from agenda where ID="+id
    cursor.execute(sql)
    cursor.close()
    conexion.commit()
    conexion.close()


crearTabla()
datos = ("Jose", "568402258")
insertar(datos)
datos = ("Lucia", "468402258")
insertar(datos)
datos = ("M Mar", "588402258")
insertar(datos)
datos = ("Eva", "467902258")
insertar(datos)
consultar()
modificar("4", "02323000")
consultar()
borrar("3")
consultar()

Insertar y consultar datos en SQLite desde Python

 



def insertar(datos):
    conexion, cursor = conectar()
    sql = """
    INSERT INTO agenda(nombre,telefono) VALUES (?,?)
    """
    if(cursor.execute(sql, datos)):
        print("Datos guardados")
    else:
        print("No se pudieron guardar los datos")
    conexion.commit()
    conexion.close()


def consultar():
    conexion, cursor = conectar()
    cursor.execute("SELECT id,nombre,telefono from agenda")
    for fila in cursor:
        print("ID = ", fila[0])
        print("Nombre = ", fila[1])
        print("Telefono = ", fila[2], "\n")
    conexion.close()

Creacion de archivo de base de datos y primera tabla con #SQLite y #Python

 



import sqlite3


def conectar():
    conexion = sqlite3.connect("miBD.db")
    cursor = conexion.cursor()
    return conexion, cursor


def crearTabla():
    conexion, cursor = conectar()
    sql = """
        CREATE TABLE IF NOT EXISTS agenda(
            id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
            nombre VARCHAR(20) NOT NULL,
            telefono VARCHAR(14) NOT NULL
        )
    """
    if(cursor.execute(sql)):
        print("Tabla creada")
    else:
        print("No se pudo crear la tabla")
    conexion.close()

viernes, 23 de agosto de 2019

93 Python. Aplicacion Cajas, ampliacion

Como continuacion del video anterior de creacion de una aplicacion sencilla para guardar datos de las cajas, en el siguiente video se amplia dicha aplicacion, dotandola de una consulta a la base de datos para obtener las ventas entre dos fechas indicadas.


lunes, 19 de agosto de 2019

92 Python. Aplicacion Caja diaria

Ejemplo de aplicacion creada con Python, para generar los datos que usaremos para crear los asientos contables requeridos de ventas sobre las cajas diarias.
Es una aplicacion con interfaz grafica en la que se introducen los datos de efectivo y tarjetas de dos tiendas y calcula la venta total, desglosa la base imponible y el iva, pasando seguidamente a guardar los datos en una base de datos sqlite y en un archivo de texto que imprimira inmediatamente.
Puedes ver el codigo completo en github.


domingo, 25 de febrero de 2018

34 Python. Agenda de contactos parte 5 Borrar Datos

Creamos la funcion de borrado de registros.



Agenda
#AGENDA PYTHON
#CON SQLITE
#IMPORTA MODULO
from tkinter import *
from BDatos import *
from tkinter import messagebox
#VARIABLES
listado=[]
ANCHO=560
ALTO=540
POSX=400
POSY=400
anchoAlto=(str(ANCHO)+"x"+str(ALTO))
posicionX="+"+str(POSX)
posicionY="+"+str(POSY)
colorVentana="blue"
colorFondo="blue"
colorLetra="white"
#funcion pruebas
def mostrarMensaje():
    print("Pruebas")
#FUNCIONES
def mensaje(titulo,texto):
    messagebox.showinfo(titulo,texto)
def listar():
    if(len(listado)>0):
        #borra lista
        listado.clear()
    conexion=sqlite3.connect("agenda.db")
    consulta=conexion.cursor()
    consulta.execute("SELECT id,nombre,apellidos,telefono,email from agenda")
    for i in consulta:
            id=(i[0])
            nombre=(i[1])
            apellidos=(i[2])
            telefono=(i[3])
            email=(i[4])
            listado.append(i)
            listado.sort()
    conexion.close()
    try:
        textLista.delete(1.0,END)
    except:
        mensaje("Listado","error en listado")
    textLista.insert(INSERT,"id\tNombre\t\tApellidos\t\tTelefono\n")
    for elemento in listado:
        id=elemento[0]
        nombre=elemento[1]
        apellidos=elemento[2]
        telefono=elemento[3]
        textLista.insert(INSERT,id)
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,nombre)
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,apellidos)
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,telefono)
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,"\n")
       
       
               
def limpiar():
    ID.set("")
    nombre.set("")
    apellidos.set("")
    telefono.set("")
    email.set("")
def guardar():
    no=nombre.get()
    ap=apellidos.get()
    tf=telefono.get()
    em=email.get()
    if((no=="")or(ap=="")):
        mensaje("Guardar","Faltan datos")
    else:
        limpiar()
        creaTabla()
        inserta(no,ap,tf,em)
        mensaje("Guardar","Datos guardados")
    listar()
def modificar():
    id=ID.get()
    no=nombre.get()
    ap=apellidos.get()
    tf=telefono.get()
    em=email.get()
    if((no=="")or(ap=="")or(id=="")):
        mensaje("Modificar","Faltan datos")
    else:
        try:
            limpiar()
            modifica(id,no,ap,tf,em)
            mensaje("Modificar","Contacto modificado")
            listar()
        except:
            mensaje("Modificar","Error al modificar")
def borrar():
    try:
        id=ID.get()   
        if(id==""):
            mensaje("Borrar","Debes insertar el codigo")
        else:
            borra(id)
            limpiar()
            listar()
            mensaje("Borrar","Mensaje borrado")
    except:
        mensaje("Error","Error al borrar, inserta codigo")
#VENTANA
ventana=Tk()
ventana.config(bg=colorVentana)
ventana.geometry(anchoAlto+posicionX+posicionY)
ventana.title("Agenda")
#Variables cajas
ID=IntVar()
nombre=StringVar()
apellidos=StringVar()
telefono=StringVar()
email=StringVar()
#Widgets
etiquetaID=Label(ventana,text="ID:").place(x=50,y=50)
cajaID=Entry(ventana,textvariable=ID).place(x=130,y=50)
etiquetaNombre=Label(ventana,text="Nombre:").place(x=50,y=90)
cajaNombre=Entry(ventana,textvariable=nombre).place(x=130,y=90)
etiquetaApellidos=Label(ventana,text="Apellidos:").place(x=50,y=130)
cajaApellidos=Entry(ventana,textvariable=apellidos).place(x=130,y=130)
etiquetaTelefono=Label(ventana,text="Telefono:").place(x=50,y=170)
cajaTelefono=Entry(ventana,textvariable=telefono).place(x=130,y=170)
etiquetaEmail=Label(ventana,text="Email:").place(x=50,y=210)
cajaEmail=Entry(ventana,textvariable=email).place(x=130,y=210)
textLista=Text(ventana)
textLista.place(x=50,y=240,width=400,height=200)
#Botones
botonAñadir=Button(ventana,text="Añadir",command=guardar).place(x=150,y=500)
botonBorrar=Button(ventana,text="Borrar",command=borrar).place(x=200,y=500)
botonBuscar=Button(ventana,text="Buscar",command=mostrarMensaje).place(x=250,y=500)
botonModificar=Button(ventana,text="Modificar",command=modificar).place(x=300,y=500)
listar()
ventana.mainloop()

BDatos
#SQLITE
import sqlite3
#CREA TABLA
def creaTabla():
    conexion=sqlite3.connect("agenda.db")
    consulta=conexion.cursor()
    sql="""CREATE TABLE IF NOT EXISTS agenda(id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
 nombre VARCHAR(20) NOT NULL, apellidos VARCHAR(20) NOT NULL, telefono VARCHAR(14) NOT NULL,
 email VARCHAR(20) NOT NULL)"""
    if(consulta.execute(sql)):
        print("Tabla creada")
    else:
        print("No se pudo crear la tabla")
    conexion.close()
#INSERTAR DATOS
def inserta(nombre,apellidos,telefono,email):
    conexion=sqlite3.connect("agenda.db")
    consulta=conexion.cursor()
    datos=(nombre,apellidos,telefono,email)
    sql="""INSERT INTO agenda(nombre,apellidos,telefono,email) VALUES (?,?,?,?)"""
    if(consulta.execute(sql,datos)):
         print("Datos guardados")
    else:
        print("No se pudo guardar el dato")
    conexion.commit()
    conexion.close()
def modifica(id,nombre,apellidos,telefono,email):
    conexion=sqlite3.connect("agenda.db")
    consulta=conexion.cursor()
    consulta.execute("""UPDATE agenda SET nombre = ?,apellidos = ?,
telefono = ?,email = ? WHERE id= ?""",(nombre,apellidos,telefono,email, str(id)))
    consulta.close()
    conexion.commit()
    conexion.close()
#BORRAR DATOS
def borra(id):
    conexion=sqlite3.connect("agenda.db")
    consulta=conexion.cursor()
    consulta.execute("DELETE from agenda WHERE id="+str(id))
    consulta.close()
    conexion.commit()
    conexion.close()

viernes, 23 de febrero de 2018

32 Python. Agenda de contactos parte 3

En esta entrada preparo nuestra aplicacion para listar los registros grabados en la base de datos Sqlite, tambien creamos una funcion para mostrar mensajes.



Agenda

#AGENDA PYTHON
#CON SQLITE
#IMPORTA MODULO
from tkinter import *
from BDatos import *
from tkinter import messagebox
#VARIABLES
listado=[]
ANCHO=560
ALTO=540
POSX=400
POSY=400
anchoAlto=(str(ANCHO)+"x"+str(ALTO))
posicionX="+"+str(POSX)
posicionY="+"+str(POSY)
colorVentana="blue"
colorFondo="blue"
colorLetra="white"
#funcion pruebas
def mostrarMensaje():
    print("Pruebas")
#FUNCIONES
def mensaje(titulo,texto):
    messagebox.showinfo(titulo,texto)
def listar():
    if(len(listado)>0):
        #borra lista
        listado.clear()
    conexion=sqlite3.connect("agenda.db")
    consulta=conexion.cursor()
    consulta.execute("SELECT id,nombre,apellidos,telefono,email from agenda")
    for i in consulta:
            id=(i[0])
            nombre=(i[1])
            apellidos=(i[2])
            telefono=(i[3])
            email=(i[4])
            listado.append(i)
            listado.sort()
    conexion.close()
    try:
        textLista.delete(1.0,END)
    except:
        mensaje("Listado","error en listado")
    textLista.insert(INSERT,"id\tNombre\t\tApellidos\t\tTelefono\n")
    for elemento in listado:
        id=elemento[0]
        nombre=elemento[1]
        apellidos=elemento[2]
        telefono=elemento[3]
        textLista.insert(INSERT,id)
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,nombre)
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,apellidos)
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,telefono)
        textLista.insert(INSERT,"\t")
        textLista.insert(INSERT,"\n")
       
       
               
def limpiar():
    ID.set("")
    nombre.set("")
    apellidos.set("")
    telefono.set("")
    email.set("")
def guardar():
    no=nombre.get()
    ap=apellidos.get()
    tf=telefono.get()
    em=email.get()
    if((no=="")or(ap=="")):
        mensaje("Guardar","Faltan datos")
    else:
        limpiar()
        creaTabla()
        inserta(no,ap,tf,em)
        mensaje("Guardar","Datos guardados")
    listar()
#VENTANA
ventana=Tk()
ventana.config(bg=colorVentana)
ventana.geometry(anchoAlto+posicionX+posicionY)
ventana.title("Agenda")
#Variables cajas
ID=IntVar()
nombre=StringVar()
apellidos=StringVar()
telefono=StringVar()
email=StringVar()
#Widgets
etiquetaID=Label(ventana,text="ID:").place(x=50,y=50)
cajaID=Entry(ventana,textvariable=ID).place(x=130,y=50)
etiquetaNombre=Label(ventana,text="Nombre:").place(x=50,y=90)
cajaNombre=Entry(ventana,textvariable=nombre).place(x=130,y=90)
etiquetaApellidos=Label(ventana,text="Apellidos:").place(x=50,y=130)
cajaApellidos=Entry(ventana,textvariable=apellidos).place(x=130,y=130)
etiquetaTelefono=Label(ventana,text="Telefono:").place(x=50,y=170)
cajaTelefono=Entry(ventana,textvariable=telefono).place(x=130,y=170)
etiquetaEmail=Label(ventana,text="Email:").place(x=50,y=210)
cajaEmail=Entry(ventana,textvariable=email).place(x=130,y=210)
textLista=Text(ventana)
textLista.place(x=50,y=240,width=400,height=200)
#Botones
botonAñadir=Button(ventana,text="Añadir",command=guardar).place(x=150,y=500)
botonBorrar=Button(ventana,text="Borrar",command=mostrarMensaje).place(x=200,y=500)
botonBuscar=Button(ventana,text="Buscar",command=mostrarMensaje).place(x=250,y=500)
botonModificar=Button(ventana,text="Modificar",command=mostrarMensaje).place(x=300,y=500)

ventana.mainloop()

BDdatos

#SQLITE
import sqlite3
#CREA TABLA
def creaTabla():
    conexion=sqlite3.connect("agenda.db")
    consulta=conexion.cursor()
    sql="""CREATE TABLE IF NOT EXISTS agenda(id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
 nombre VARCHAR(20) NOT NULL, apellidos VARCHAR(20) NOT NULL, telefono VARCHAR(14) NOT NULL,
 email VARCHAR(20) NOT NULL)"""
    if(consulta.execute(sql)):
        print("Tabla creada")
    else:
        print("No se pudo crear la tabla")
    conexion.close()
#INSERTAR DATOS
def inserta(nombre,apellidos,telefono,email):
    conexion=sqlite3.connect("agenda.db")
    consulta=conexion.cursor()
    datos=(nombre,apellidos,telefono,email)
    sql="""INSERT INTO agenda(nombre,apellidos,telefono,email) VALUES (?,?,?,?)"""
    if(consulta.execute(sql,datos)):
         print("Datos guardados")
    else:
        print("No se pudo guardar el dato")
    conexion.commit()
    conexion.close()

jueves, 30 de noviembre de 2017

20 Python. Modificacion y borrado de datos en Sqlite

Modificar y borrar datos de Sqlite sobre el ejemplo visto anteriormente.




#SQLITE
import sqlite3



#CONECTAMOS
conexion=sqlite3.connect("agenda.db")
#CURSOR
consulta=conexion.cursor()
#MODIFICACION DE DATOS
consulta.execute("UPDATE agenda SET TELEFONO = 38874997 where ID= 2")
consulta.close()
conexion.commit()
conexion.close()
#CONECTAMOS
conexion=sqlite3.connect("agenda.db")
#CURSOR
consulta=conexion.cursor()
#BORRADO DE DATOS
consulta.execute("DELETE from agenda where ID= 2")
consulta.close()
conexion.commit()
conexion.close()

#CONSULTA DE DATOS INSERTADOS
conexion=sqlite3.connect("agenda.db")
consulta=conexion.cursor()
consulta.execute("SELECT id,nombre,apellidos,telefono from agenda")
for i in consulta:
    print("ID= ", i[0])
    print("NOMBRE= ", i[1])
    print("APELLIDOS= ", i[2])
    print("TELEFONO= ", i[3],"\n")
conexion.close()

lunes, 27 de noviembre de 2017

19 Python. Consulta de datos en Sqlite

Consultamos los datos insertados en el video anterior en la base de datos Sqlite.


#SQLITE
import sqlite3


#INSERTAR DATOS
nombre=input("Dime el nombre\n")
apellidos= input("Dime el apellido\n")
telefono=input("Dime el telefono\n")
#CONECTAMOS
conexion=sqlite3.connect("agenda.db")
#CURSOR
consulta=conexion.cursor()
#DATOS
datos=(nombre,apellidos,telefono)
sql="""
INSERT INTO agenda(nombre,apellidos,telefono) VALUES (?,?,?)"""
if(consulta.execute(sql,datos)):
    print("datos guardados")
else:
    print("error al guardar datos")
consulta.close()
conexion.commit()
conexion.close()
#CONSULTA DE DATOS INSERTADOS
conexion=sqlite3.connect("agenda.db")
consulta=conexion.cursor()
consulta.execute("SELECT id,nombre,apellidos,telefono from agenda")
for i in consulta:
    print("ID= ", i[0])
    print("NOMBRE= ", i[1])
    print("APELLIDOS= ", i[2])
    print("TELEFONO= ", i[3],"\n")
conexion.close()

domingo, 26 de noviembre de 2017

18 Python. Conexion a Base de datos Sqlite

Vemos como conectar con la Base de datos Sqlite y como insertar datos.


#SQLITE
import sqlite3
#CONEXION
conexion=sqlite3.connect("agenda.db")
#CURSOR
consulta=conexion.cursor()
#CREA TABLA
sql="""
CREATE TABLE IF NOT EXISTS agenda(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
nombre VARCHAR(20) NOT NULL,
apellidos VARCHAR(20) NOT NULL,
telefono VARCHAR(14) NOT NULL
)
"""
#EJECUTAR CONSULTA
if(consulta.execute(sql)):
    print("Tabla creada")
else:
    print("Error al crear tabla")
#CERRAMOS
consulta.close()
conexion.commit()
conexion.close()

#INSERTAR DATOS
nombre=input("Dime el nombre\n")
apellidos= input("Dime el apellido\n")
telefono=input("Dime el telefono\n")
#CONECTAMOS
conexion=sqlite3.connect("agenda.db")
#CURSOR
consulta=conexion.cursor()
#DATOS
datos=(nombre,apellidos,telefono)
sql="""
INSERT INTO agenda(nombre,apellidos,telefono) VALUES (?,?,?)"""
if(consulta.execute(sql,datos)):
    print("datos guardados")
else:
    print("error al guardar datos")
consulta.close()
conexion.commit()
conexion.close()

sábado, 16 de septiembre de 2017

22 Java. Borrando datos de Sqlite

Borramos datos de Sqlite usando Java con el ide Eclipse.



Clase Principal
public class main {
    static String nombreTabla="alumno";
    public static void main(String[] args) throws SQLException  {
        sqlite  miBaseDb=new sqlite();
        miBaseDb.conectar();
        miBaseDb.crearTabla(nombreTabla);
        miBaseDb.insertaDatos(17, "Jose", "Ojeda","Bien");
        miBaseDb.insertaDatos(18, "Juan", "Martin","Bien");
        miBaseDb.consultaDatos(nombreTabla);
        miBaseDb.ActualizarDatos(nombreTabla, 2, "Notable");
        miBaseDb.consultaDatos(nombreTabla);
        miBaseDb.BorrarDatos(nombreTabla, 17);
        miBaseDb.consultaDatos(nombreTabla);
    }

}

Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class sqlite {
     Connection c=null;
     Statement sentencia=null;
     String nombreTabla;
     String Nombre,Apellidos,Nota;
     int ID;
    public void conectar(){
   
    try{
        Class.forName("org.sqlite.JDBC");
        c=DriverManager.getConnection("jdbc:sqlite:test.db");
        System.out.println("Exito al conectar con base de datos");
    }catch(Exception e){
        System.out.println("Error al conectar con base de datos");
    }

    }
    public void crearTabla(String nombreTabla) throws SQLException{
        this.nombreTabla=nombreTabla;
        try{
            sentencia=c.createStatement();
            String sql="CREATE TABLE "+nombreTabla+" "+
                    "(ID INT PRIMARY KEY NOT NULL,"+
                    " Nombre TEXT NOT NULL,"+
                    " Apellidos TEXT NOT NULL,"+
                    " Nota TEXT NOT NULL)";
            sentencia.execute(sql);
            sentencia.close();
            c.close();
            System.out.println("Exito al crear la tabla");
        }catch(Exception e){
            System.out.println("Error al crear la tabla o que ya estaba creada");
        }
    }
    public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
        this.ID=ID;
        this.Nombre=Nombre;
        this.Apellidos=Apellidos;
        this.Nota=Nota;
        String sqlInsert="INSERT INTO "+nombreTabla+"(ID, Nombre, Apellidos, Nota) "+
                "VALUES("+ID+",'"+Nombre+"','"+Apellidos+"','"+Nota+"');";
       
        try {
            conectar();
            sentencia=c.createStatement();
            sentencia.executeUpdate(sqlInsert);
            sentencia.close();
            c.close();
            System.out.println("Datos insertados");
        }catch(Exception e){
            System.out.println("Error al insertar datos en la tabla");
        }
    }
    public void consultaDatos(String nombreTabla)throws SQLException{
        conectar();
        sentencia=c.createStatement();
        String consultaSql="SELECT * FROM "+nombreTabla+";";
        try{
            ResultSet rs=sentencia.executeQuery(consultaSql);
            while(rs.next()){
                int ID=rs.getInt("ID");
                String Nombre=rs.getString("Nombre");
                String Apellidos=rs.getString("Apellidos");
                String Nota=rs.getString("Nota");
                System.out.println("Id : "+ID+" Nombre : "+Nombre+" Apellidos : "+Apellidos+" Nota : "+Nota);
            }
            rs.close();
            sentencia.close();
            c.close();
        }catch(Exception e){
            System.out.println("Fallo al recuperar datos");}
       
       
    }
    public void ActualizarDatos(String nombreTabla, int ID, String Nota) throws SQLException{
        this.nombreTabla=nombreTabla;
        this.Nota=Nota;
        this.ID=ID;
        conectar();
        sentencia=c.createStatement();
        String actualizaSql="UPDATE "+nombreTabla+" SET Nota='"+Nota+"' WHERE ID="+ID;
        try {
            sentencia.executeUpdate(actualizaSql);
            c.commit();
        }catch(Exception e){System.out.println("error actualizando registro");}
        sentencia.close();
        c.close();
    }
    public void BorrarDatos(String nombreTabla, int ID) throws SQLException{
        this.nombreTabla=nombreTabla;
        this.ID=ID;
       
        try{
            conectar();
            sentencia=c.createStatement();
            String sql="DELETE FROM "+nombreTabla+" WHERE ID="+ID;
            sentencia.executeUpdate(sql);
        }catch(Exception e){
            System.out.print("error al borrar datos");
        }
        sentencia.close();
        c.close();
    }
    }

sábado, 9 de septiembre de 2017

21 Java. Actualizar datos de Sqlite

Actualizar un campo de un registro en base de datos Sqlite desde Java usando el IDE Eclipse.




Clase Principal
import java.sql.SQLException;

public class main {
    static String nombreTabla="alumno";
    public static void main(String[] args) throws SQLException  {
        sqlite  miBaseDb=new sqlite();
        miBaseDb.conectar();
        miBaseDb.crearTabla(nombreTabla);
        miBaseDb.insertaDatos(17, "Jose", "Ojeda","Bien");
        miBaseDb.insertaDatos(18, "Juan", "Martin","Bien");
        miBaseDb.consultaDatos(nombreTabla);
        miBaseDb.ActualizarDatos(nombreTabla, 2, "Notable");
        miBaseDb.consultaDatos(nombreTabla);
    }

}

Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class sqlite {
     Connection c=null;
     Statement sentencia=null;
     String nombreTabla;
     String Nombre,Apellidos,Nota;
     int ID;
    public void conectar(){
   
    try{
        Class.forName("org.sqlite.JDBC");
        c=DriverManager.getConnection("jdbc:sqlite:test.db");
        System.out.println("Exito al conectar con base de datos");
    }catch(Exception e){
        System.out.println("Error al conectar con base de datos");
    }

    }
    public void crearTabla(String nombreTabla) throws SQLException{
        this.nombreTabla=nombreTabla;
        try{
            sentencia=c.createStatement();
            String sql="CREATE TABLE "+nombreTabla+" "+
                    "(ID INT PRIMARY KEY NOT NULL,"+
                    " Nombre TEXT NOT NULL,"+
                    " Apellidos TEXT NOT NULL,"+
                    " Nota TEXT NOT NULL)";
            sentencia.execute(sql);
            sentencia.close();
            c.close();
            System.out.println("Exito al crear la tabla");
        }catch(Exception e){
            System.out.println("Error al crear la tabla o que ya estaba creada");
        }
    }
    public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
        this.ID=ID;
        this.Nombre=Nombre;
        this.Apellidos=Apellidos;
        this.Nota=Nota;
        String sqlInsert="INSERT INTO "+nombreTabla+"(ID, Nombre, Apellidos, Nota) "+
                "VALUES("+ID+",'"+Nombre+"','"+Apellidos+"','"+Nota+"');";
       
        try {
            conectar();
            sentencia=c.createStatement();
            sentencia.executeUpdate(sqlInsert);
            sentencia.close();
            c.close();
            System.out.println("Datos insertados");
        }catch(Exception e){
            System.out.println("Error al insertar datos en la tabla");
        }
    }
    public void consultaDatos(String nombreTabla)throws SQLException{
        conectar();
        sentencia=c.createStatement();
        String consultaSql="SELECT * FROM "+nombreTabla+";";
        try{
            ResultSet rs=sentencia.executeQuery(consultaSql);
            while(rs.next()){
                int ID=rs.getInt("ID");
                String Nombre=rs.getString("Nombre");
                String Apellidos=rs.getString("Apellidos");
                String Nota=rs.getString("Nota");
                System.out.println("Id : "+ID+" Nombre : "+Nombre+" Apellidos : "+Apellidos+" Nota : "+Nota);
            }
            rs.close();
            sentencia.close();
            c.close();
        }catch(Exception e){
            System.out.println("Fallo al recuperar datos");}
       
       
    }
    public void ActualizarDatos(String nombreTabla, int ID, String Nota) throws SQLException{
        this.nombreTabla=nombreTabla;
        this.Nota=Nota;
        this.ID=ID;
        conectar();
        sentencia=c.createStatement();
        String actualizaSql="UPDATE "+nombreTabla+" SET Nota='"+Nota+"' WHERE ID="+ID;
        try {
            sentencia.executeUpdate(actualizaSql);
            c.commit();
        }catch(Exception e){System.out.println("error actualizando registro");}
        sentencia.close();
        c.close();
    }
    }

martes, 5 de septiembre de 2017

20 Java. Consultar datos de Sqlite

Crearemos un metodo para consultar datos de Sqlite mediante Java con el IDE Eclipse.


Clase Principal
import java.sql.SQLException;

public class main {
    static String nombreTabla="alumno";
    public static void main(String[] args) throws SQLException  {
        sqlite  miBaseDb=new sqlite();
        miBaseDb.conectar();
        miBaseDb.crearTabla(nombreTabla);
        miBaseDb.insertaDatos(17, "Jose", "Ojeda","Bien");
        miBaseDb.insertaDatos(18, "Juan", "Martin","Bien");
        miBaseDb.consultaDatos(nombreTabla);
    }

}
Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class sqlite {
     Connection c=null;
     Statement sentencia=null;
     String nombreTabla;
     String Nombre,Apellidos,Nota;
     int ID;
    public void conectar(){
   
    try{
        Class.forName("org.sqlite.JDBC");
        c=DriverManager.getConnection("jdbc:sqlite:test.db");
        System.out.println("Exito al conectar con base de datos");
    }catch(Exception e){
        System.out.println("Error al conectar con base de datos");
    }

    }
    public void crearTabla(String nombreTabla) throws SQLException{
        this.nombreTabla=nombreTabla;
        try{
            sentencia=c.createStatement();
            String sql="CREATE TABLE "+nombreTabla+" "+
                    "(ID INT PRIMARY KEY NOT NULL,"+
                    " Nombre TEXT NOT NULL,"+
                    " Apellidos TEXT NOT NULL,"+
                    " Nota TEXT NOT NULL)";
            sentencia.execute(sql);
            sentencia.close();
            c.close();
            System.out.println("Exito al crear la tabla");
        }catch(Exception e){
            System.out.println("Error al crear la tabla o que ya estaba creada");
        }
    }
    public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
        this.ID=ID;
        this.Nombre=Nombre;
        this.Apellidos=Apellidos;
        this.Nota=Nota;
        String sqlInsert="INSERT INTO "+nombreTabla+"(ID, Nombre, Apellidos, Nota) "+
                "VALUES("+ID+",'"+Nombre+"','"+Apellidos+"','"+Nota+"');";
       
        try {
            conectar();
            sentencia=c.createStatement();
            sentencia.executeUpdate(sqlInsert);
            sentencia.close();
            c.close();
            System.out.println("Datos insertados");
        }catch(Exception e){
            System.out.println("Error al insertar datos en la tabla");
        }
    }
    public void consultaDatos(String nombreTabla)throws SQLException{
        conectar();
        sentencia=c.createStatement();
        String consultaSql="SELECT * FROM "+nombreTabla+";";
        try{
            ResultSet rs=sentencia.executeQuery(consultaSql);
            while(rs.next()){
                int ID=rs.getInt("ID");
                String Nombre=rs.getString("Nombre");
                String Apellidos=rs.getString("Apellidos");
                String Nota=rs.getString("Nota");
                System.out.println("Id : "+ID+" Nombre : "+Nombre+" Apellidos : "+Apellidos+" Nota : "+Nota);
            }
            rs.close();
            sentencia.close();
            c.close();
        }catch(Exception e){
            System.out.println("Fallo al recuperar datos");}
       
       
    }
    }