 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Spawn Invitado
|
Publicado: Sab 17 Ago, 2002 6:10 pm Asunto: (Tablas ADO)Ayuda con la funcion LookUp para Busqueda de reg |
|
|
Hola.
Mi problema es que cuando utilizo la funcion LookUp de la siguiente manera:
Variant Clave = (Variant) ModuloDatos->TablaTrabajaEn->FieldByName("codigofarmaceutico")->Value;
Variant Resultado;
Resultado = ModuloDatos->TablaTrabajaEn->Lookup("codigofarmaceutico",Clave,"horario");
ShowMessage(Resultado.Type());
ShowMessage(Resultado.ArrayDimCount());
ShowMessage(Resultado);
Cuando hay una busqueda por clave y el resultado que busco es solo 1 campo, no hay problema.
El problema esta cuando la funcion me tendria que devolver varios campos, y solo me aparece 1.
Creo que el problema esta en la declaracion de la variable resultao, pero no se como solucionarlo
A ver si alguien me aclara un poco lo que pasa |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 19 Ago, 2002 1:07 am Asunto: |
|
|
Hola Spawn:
No dices que error te da, eso aclararía bastante lo que ocurre. Aunque supongo que el error que te da cuando hay mas de un resultado es que no puede convertir ese Array Variant a String, cosa que si hace por defecto cuando el resultado es solo uno.
Prueba cambiando la última línea por:
| Código: | if (Resultado.IsArray())
{
for (int i=0; i<=Resultado.ArrayDimCount(); i++)
ShowMessage(Resultado.GetElement(i));
}
else
ShowMessage(Resultado); |
Saludos:
_Leo |
|
| Volver arriba |
|
 |
spawn Invitado
|
Publicado: Lun 19 Ago, 2002 3:46 pm Asunto: |
|
|
Gracias.
Mensaje de error no me da ninguno.
Te explico mejor el problema.
lo que quiero hacer es añadir trabajadores a una tabla de la base de datos. Entonces tengo que comprobar si el trabajador que voy a insertar
esta libre. Entonces quiero extraer de la tabla, codos los horarios en los que trabaja el elemento en cuestion. El problema que tengo, es que LookUp solo me devuelve un campo de un registro, cuando me deveria de devolver todos los horarios en los que esta trabajando el trabajador en cuestion.
Siempre me devuelve el tipo 8, que corresponde a una OleStr y ademas de dimension 0.
Gracias de todas formas Leo. |
|
| Volver arriba |
|
 |
Spawn Invitado
|
Publicado: Lun 19 Ago, 2002 4:04 pm Asunto: |
|
|
Bueno, creo que ya se cual es el problema. jejeje
Habia interpretado mal la funcion LookUp()
Esta devuelve varios campos, pero siempre del mismo registro
No de varios registros que era lo que queria.
Enfin, tendre que probar con una consulta a ver que pasa.
O si alguien conoce otra manera estoy abierto a todo tipo de sugerencias. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|