EXISTS

para averiguar si existe un registro 

select EXISTS (SELECT titulo from TablaProducto where titulo='adwd');

entrega 1 si existe o 0 si no existe


Extraer un registro si existe

SELECT titulo from TablaProducto WHERE titulo='awd' and EXISTS(SELECT titulo from TablaProducto where titulo='awd');

entrega el registro, para este caso 'awd' si existe



ejemplos prácticos usando pyqt5

luego de hacer el cursor con su respectiva conexión

cursor.execute("SELECT * FROM db_auto WHERE id_auto=(?) and EXISTS (SELECT * FROM db_auto WHERE id_auto=(?))",
(idBuscarAuto, idBuscarAuto))

luego de hacer el cursor con su respectiva conexión


Otro ejemplo...

def YaExiste(titulo):
conn = conexion()
cursor = conn.cursor()
return cursor.execute('SELECT EXISTS (SELECT titulo from TablaProducto WHERE titulo=(?));', (titulo,)).fetchall()[0][0]

importante usar  fetchall()[0][0] para limpiar el dato

 01100110 01101001 01101110 00100000 01100100 01100101 00100000 01100011 01101111 01100100 01101001 01100111 01101111

RETURN

usos de QDialog - ejemplo útil

import sys

from PyQt5.QtWidgets import QApplication, QDialogButtonBox, QLabel, QMainWindow, QPushButton, QDialog, QVBoxLayout


class MainWindow(QMainWindow):
def __init__(self):
super().__init__()

button = QPushButton("clic para un cuadro de dialogo")
button.clicked.connect(self.button_clicked)
self.setCentralWidget(button)

def button_clicked(self, s):
print("click", s)

dlg = NuevoDialog()
if dlg.exec():
print("Aceptar!")
else:
print("Cancelar!")

class NuevoDialog(QDialog):
def __init__(self):
super().__init__()

QBtn = QDialogButtonBox.Ok | QDialogButtonBox.Cancel

self.buttonBox = QDialogButtonBox(QBtn)
self.buttonBox.accepted.connect(self.accept) #funciones por defecto del QDialog
self.buttonBox.rejected.connect(self.reject) #funciones por defecto del QDialog

self.layout = QVBoxLayout()
message = QLabel("Cuadro de dialogo")
self.layout.addWidget(message)
self.layout.addWidget(self.buttonBox)
self.setLayout(self.layout)
app = QApplication(sys.argv)

window = MainWindow()
window.show()

app.exec() 

 01100110 01101001 01101110 00100000 01100100 01100101 00100000 01100011 01101111 01100100 01101001 01100111 01101111

RETURN

sql error sql logic error or missing database

si este problema aparece sobre una tabla al hacer un insert, puede que se trate de los parametros de los campos, mas especificamente en el siguiente ejemplo...

CREATE TABLE IF NOT EXISTS[TablaConfiguracion] (
[idConfig] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
[primeraVez] VARCHAR(4) NOT NULL,
[idUsuarioActual] INTEGER NOT NULL,
FOREIGN KEY(idUsuarioActual) REFERENCES TablaCajeros(idCajero));

para esta tabla se arreglo el problema sacando el NOT en el segundo y tercer campo.

 01100110 01101001 01101110 00100000 01100100 01100101 00100000 01100011 01101111 01100100 01101001 01100111 01101111

RETURN


PyQt5 - datos sobre ingreso de datos.

Datos a tener en cuenta en la forma de ingresar datos...


def insertar_base_empleado(conn, dato):

    datoNuevo = [dato[0], dato[1], dato[2], dato[3], "$%.2f" % float(list(dato).pop(4))]

    cursor = conn.cursor()

    cursor.execute("INSERT INTO db_empleado(id_empleado,nombre,apellido,domicilio,sueldo) VALUES (?,?,?,?,?)",

                   datoNuevo)

    conn.commit()



def borrar_base_empleado(conn, idBorrar):

    if idBorrar != '':

        cursor = conn.cursor()

        cursor.execute("DELETE FROM db_empleado WHERE id_empleado=(?);", (idBorrar,))

        cursor.execute("UPDATE db_empleado SET id_empleado=id_empleado-1 WHERE id_empleado>(?);", (idBorrar,))

        conn.commit()

    else:

        print("No se a borrado ningun registro")

nothing to show

 Pycharm no realiza sugerencias del codigo.

Solucion: Salir del proyecto, borrar .idea del archivo del programa  y volver a abrir el proyecto, ahora podrá ajustar el interprete abajo a la derecha de la pantalla.



01100110 01101001 01101110 00100000 01100100 01100101 00100000 01100011 01101111 01100100 01101001 01100111 01101111

RETURN

INDICE