Búsquedas en bases de datos sin CASE SENSITVE

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Hola compañeros.
Quiero buscar en la base de datos sin ser CASE SENSITVE.
CASE SENSITVE (sin distinguir mayúsculas de minúscula)
Gracias :SOS:
usa LIKE
Las bases de datos que usan SQL no tienen Case-Sensitive, si lo que quieres es habilitarlo entonces pon BINARY 'VaLuE' para hacer que sea Case-Sensitive, ejemplo:

Código: Seleccionar todo

SELECT * FROM 'table' WHERE 'value' = BINARY 'CoNtEnT'
Si de pura casualidad tu base de datos si usa Case Sensitive entonces puedes hacer lo siguiente:
function SearchInTable(tbl, val, tosearch)
     local temps = MySQLConnection:execute("SELECT '"..val.."' FROM "..tbl):fetch()
     for k, v in pairs(temps) do
          if tostring(v):lower() == tosearch:lower() then
               return k, v
          end
     end
end
Luego de esto puedes buscar sin Case Sensitive, Por ejemplo:
SearchInTable("usuarios", "user", "John123")
Esto hace la busqueda, y no le va a importar si el usuario es 'John123', 'JOHN123' o etc, y retorna la llave en donde se encontró
Por ejemplo: si retorna 3, esto significa que el usuario John123 esta en el puesto numero 3 de la tabla, entonces debes de hacer lo siguiente:

Código: Seleccionar todo

SELECT * FROM 'usuarios' WHERE 'id' = 3
Esto devolvería todos los datos del usuario numero 3, que en este caso es John123
Espero que te sirva bro, no lo he testeado porque mis bases de datos no usan Case Sensitive
Gracias companheiro "pexabosh".
Voy a probar...
Agotaras123 escribió:
30 Abr 2021 07:10
usa LIKE
Gracias companheiro "Agotaras123" :friends:

Pero lo que quiero hacer es buscar en toda la base de datos, pero sin distinguir mayúsculas de minúscula.
Busca de todas las formas, como 'JOHN123' y también 'John123'.
Todas las mayúsculas or minúscula...
Compañeros, alguien tiene un ejemplo?
Porque no puedo hacer eso... :pc:
FRAPIDS escribió:
01 May 2021 17:43
Compañeros, alguien tiene un ejemplo?
Porque no puedo hacer eso... :pc:
Que tipo de base de datos usas?.
Amigo Agotaras123, eu uso o SQLite . :friends:
Te dejo un código de búsqueda utilizando el comando LIKE todo el código te lo deje comentado, aquí al sistema no le importa si esta en mayúsculas o minúsculas lo que busca es coincidencias.

-------VARIABLES QUE OBTIENEN LOS DATOS A BUSCAR-------
sUsuario = ComboBox.GetText("ComboUsuario");
sContrasena = Input.GetText("Inpcontrasenia");
-------FINAL DE VARIABLES QUE CONTIENEN LO QUE BUSCARAS-------

-------CONSULTA SQLITE QUE USA EL COMANDO LIKE PARA REALIZAR BUSQUEDAS -------
TabladeBusqueda = SQLite.QueryToTable(db, "Select * from Usuarios where (Usuario LIKE '%"..sUsuario.."%') and (Contrasena LIKE '%"..sContrasena.."%')")

ErrordeDB = Application.GetLastError();-------VARIABLE QUE OBTENDRA EL MENSAJE DE ERROR EN CASO DE QUE TENGA
-------CONDICION PARA VERIFICAR SI TIENE ERROR NOS MUESTRE EL MENSAJE CON EL ERROR QUE TENEMOS-------
if ErrordeDB ~= SQLite.OK then
	Dialog.Message("Error", SQLite.GetLastErrorString());
end
-------CONDIDICION SI NO TENEMOS ERROR EN NUESTRA CONSULTA, REALIZARA LA OERACION DENTRO DEL FOR
	if ErrordeDB == SQLite.OK then
		for nRow = 1,TabladeBusqueda.Rows do-------CREAMOS ESTE BUCLE PARA REALIZAR LA BUSQUEDA DE LO QUE EL USUARIO INGRESO EN LAS VARIABLES DEL PRINCIPIO
		
		-------CONDICION QUE SI LOS DATOS INGRESADOS POR EL USUARIO COINCIDEN CON LOS DE LA BASE DE DATOS LO DEJARA CONTINUAR AL SIGUIENTE PASO-------
			if TabladeBusqueda.Data[nRow]["Usuario"] == sUsuario and TabladeBusqueda.Data[nRow]["Contrasena"] == sContrasena then
				-------LA ACCION QUE REALIZARA EL PROGRAMA SI LOS DATOS SON CORRECTOS-------
				Dialog.TimedMessage("Notificacion", "El Bienvenido al sistema", 500, MB_ICONNONE)	
				Input.SetText("Inpcontrasenia", "")
				Page.Jump("MenuPrincipal"); 
			else
				-------MENSAJE DE ERROR QUE DIRA AL USUARIO QUE UNO O TODOS LOS DATOS SON INCORRECTOS Y QUE LO INTENTE DE NUEVO-------
				Dialog.TimedMessage("Error", "El Usuario o la Contraseña Son Incorrectas Intente de Nuevo", 3000, MB_ICONEXCLAMATION) 
			end-------FIN DE LA CONDICION
		end-------FIN DEL BUCLE
	
		else 
	-------AQUI PUEDES COLOCAR ALGUNA ACCION SI TIENES UN ERROR EN LA CONSULTA-------
	
	end -------FIN LA CONDICION SI NO TENEMOS ERROR


Gracias amigo Agotaras123 :friends: