![]() |
Problema busqueda varios campos
BASE DE DATOS: MYSQL
DELPHI 5 Que tal? .. quiero hacer la busqueda de varios campos. Primero quise realizar la busqueda por medio de un Query ... usando un ADOQuery ... el problema es que tengo un datetimepicker que guardo la fecha en formato DD-MM-AAAA ... para insertar la fecha hago una conversion, ya que MYSQL permite el formate AAAA-MM-DD ... entonces cuando lanzo un SELECT no me devuelve NADA porque el formato de la fecha se manda como DD-MM-AAAA ... y la propiedad ADOQuery.SQL.ADD('') no me permite realizar la conversion de formato. ENTONCES COMO HAGO'? Se me ocurrio hacer la busqueda con un LOCATE. Pero resulta que la busqueda la tengo que hacer preguntando varios campos (mi tabla a consultar tiene multiples llaves primarias), y mi problema es que no se como se hace Lei que hay que mandar una variable, asi como Table.Locate('Mes;Dia',VarArrayof([Mes,Dia]),[]) ... pero no tengo idea como se crea el array y como se le asigna valores. Mi idea seria crear el Array, y mandarle como valor lo que hay en un edit. Por ej Variable1:=Edit1.text Variable2:=DateTimePicker1.date Variable3:=strtoint(Edit2.text) Algo asi pienso que es, como se hace esto en un array para mandarlo como parametro a un LOCATE?? GRACIAs. |
Hola elrodrix y bienvenido a Club Delphi :)
Como a todos los que se inician te invitamos a que leas nuestra guía de estilo. Saludos y gracias por tu colaboración. |
Cita:
|
Cita:
Quizá sólo te falta hacer la conversión al formato 'yyyy-mm-dd' usando la función FormatDateTime. :) |
Tal como lo menciona Al_Gonzalez....
Como ejemplo con un DateTimePicker y un Boton en el boton pones el formatDateTime:
Con esto le das el formato que quieras a tu fecha, muy bueno para trabajar con base de datos por ejemplo MYsql y Sql Saludos! |
Cita:
|
Cita:
|
Hola
La función Locate sería así: Código:
if Table1.Locate('Campo1;Campo2;Campo3',VarArrayOf([Valor1,Valoe2,Valor3]),[]) then //Encontrado Para hacer una condición por varios campos se usa el operador AND Código:
where Campo1='xxxx' And Campo2>10 And Campo3=200 And Campo4<>'1' Código:
function AnsiQuotedDate(Fecha:TDateTime):String; Código:
Tabla1.ParamByName('Fecha').AsDate:=AnsiQuotedDate(DateTimePicker1.Date); Bueno espero te sirva de algo esta información Saludos |
Cita:
No me di cuenta de mi error.... :p Ahora que leo de nuevo las definiciones de cada palabra... Lo diré de nuevo: Cita:
Cada vez aprendo más.... Gracias a ustedes... :D Saludos! |
Cita:
|
Cita:
|
Cita:
Si llegan a ser fabricantes de coches, le ponen de nombre "coche" y así todo el mundo asocia "coche" con el MS coche :) Y los demás no son "coches", son vehículos a motor con 4 ruedas y volante, de nombre ford, renault, nissan, etc. pero el auténtico "coche" es el de microsoft, el "MS coche" :) |
Pues eso tiene sus antecedentes históricos desde que Estados Unidos decidió llamarse así, Estados Unidos de América. De esa forma identifican todo el continente con ellos, como se desprende de la doctrina Monroe.
No es de extrañar que sus empresas hagan cosas similares. // Saludos |
Tienes razón, creo que el nombre oficial es "Estados Unidos Mexicanos", situado en América del Norte y que limita al norte con los "Estados Unidos de América".
Entonces México también es "Estados Unidos de América", porque está en América. Y entonces también es "norteamérica". |
En efecto, el nombre oficial de México es Estados Unidos Mexicanos. Tampoco es que nuestros fundadores hayan sido muy originales :s con eso de Estados Unidos. Pero al menos tenemos el apelativo México de antecedentes prehispánicos.
// Saludos |
La franja horaria es GMT +2. Ahora son las 02:42:15. |
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