![]() |
Consulta con and o or
Hola a tod@s de nuevo!!. Mi pregunta es: ¿Como puedo hacer para que al realizar una consulta el usuario pueda elegir si utilizar and o or para buscar por dos campos distintos?. Tengo una conexion a base de datos con ADO utilizando builder c++. Gracias a tod@s.
|
Podrías usar un RadioGroup con dos opciones:
Si el usuario elije la primera hacés la consulta por AND Si el usuario elije la segunda hacés la consulta por OR Y listo |
Gracias Zeta
Gracias por la respuesta. Tengo otro problemilla, a ver si sabes resolverlo.
Tengo dos campos de busqueda que son codigos, y los guardo en la base de datos como Texto. El tema es que al hacer la busqueda por los dos campos con un between me falla porque between requiere enteros. ¿Puedo solucionar esto sin tocar la base de datos?. Un saludo y gracias. |
primero nos vendría muy biensaber en k base de datos estas trabajando
De todas formas podrías probar si no te funciona un between, con >= y <= Ejemplo: a between 'a' and 'z' <--------> a >= 'a' and a <= 'z' Intentalo y nos comentas |
Ya funciona
El problema eran los espacios entre el operador AND y los valores de busqueda. Quedaría asi:
cod1 = ECod1->Text.Trim(); cod2 = ECod2->Text.Trim(); cadena = "Select * from candidatos where id between "; cadena = cadena + cod1; cadena = cadena + " AND "; cadena = cadena + cod2; ADOQConsulta->SQL->Clear(); ADOQConsulta->SQL->Add(cadena); FPrincipal->DSListacandidatos->DataSet = ADOQConsulta; ADOQConsulta->ExecSQL(); FPrincipal->DSListacandidatos->DataSet = ADOQConsulta; FPrincipal->ADOQListacandidatos->Active = true; FPrincipal->DSListacandidatos->DataSet = ADOQConsulta; |
buenas perrako!!
Una consulta con parametros: Cita:
Ademas los parametros pueden ser enteros para hacer comparaciones: Cita:
Antonio |
Macho
Es que asi como tu dices no me funciona. Lo he probado, pero primero, Items no puede ser un vector, y segundo no tiene la propiedad AsString, o por lo menos a mi no me tira asi. Gracias de todos modos.
|
Pon en la ayuda tquery...y busca la propiedad "params"...alli puedes ver un ejemplo de uso: (yo uso bc++ 5 pero en la 6 tambien tendria que estar).
Cita:
Antonio |
Antoñico
A ver, como le puedo pasar una cadena a otro formulario?Te explico. Tengo un formulario de busqueda, y para hacer la sentencia sql quiero que el usuario pueda elegir AND u OR, de manera que hago llamadas a una funcion andor que me abre un formulario nuevo donde quiero mostrar la cadena que llevo hasta ese momento, y tengo 2 botones and u or. Como paso la cadena del formulario 1 al formulario andor?. Me entiendes. Enga neeeeeeeeeeeeeen!!!!!.
|
Pues varias maneras...
Al principio del formulario DESTINO...tienes que poner un include al formulario ORIGEN...algo asi: Cita:
Nombre_Formulario->LOQUEQUIERAS (o un componente o una variable o como quieras) Entonces si la cadena esa la tienes en un edit, pos: Formulario->Edit1->Text Si esta en una cadena, la cadena la tendras que declarar GLOBAL en el .h del formulario ORIGEN, y entonces desde el DESTINO: Formulario->cadena |
La franja horaria es GMT +2. Ahora son las 06:15:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi