Ver Mensaje Individual
  #1  
Antiguo 09-09-2006
gesDelf gesDelf is offline
Miembro
 
Registrado: sep 2006
Posts: 18
Reputación: 0
gesDelf Va por buen camino
gbGrid: ¿como lleno columnas directamente que no vengan de un campo del SQL?

Hola!

Buenas, por trabajo estoy aprendiendo Delphi (que no había tocado antes) a marchas forzadas. Más o menos me estoy saliendo airoso, pero ahora tengo un problema que no sé como resolver.

Tengo un dbGrid, en el que meto una sentencia SELECT como la siguiente:

SELECT nombreJugador JUGADOR_NOMBRE, apellidosJugador JUGADOR_APELLIDOS, funcion_identificador (:codigo) IDENTIFICADOR
FROM TABLA_JUGADOR
WHERE ID_JUGADOR = :dni_jugador;

(es un ejemplo, la que tengo que hacer es extremadamente larga y he querido simplicarla para ilustrar mi problema).

Bien, tengo esta función en mi base de datos: funcion_identicador (no la he hecho yo, me viene impuesta, por lo que no tengo que tocarla y tengo que usar ese SELECT anterior),
que como habeis visto está en la sentencia SQL, y que devuelve esta cadena:
ttt-nnnn-aaaa
(son realmente 3 valores dentro de un VARCHAR que retorna la funcion: por ejemplo se devolvería algo así "111-2323-3444", por ejemplo VALOR_T, VALOR_N y VALOR_A)

Ok, yo ya tengo un dbGrid que tiene las columnas con JUGADOR_NOMBRE, JUGADOR_APELLIDOS e IDENTIFICADOR. Que me sale perfecto así, porque es ejecutar el Query y actualizarse la tabla.

Hasta ahí perfecto, pero ahora me piden que en lugar de salirme 1 columna "IDENTIFICADOR", me salgan 3 columnas: VALOR_T, VALOR_N y VALOR_A. Y aquí no sé como hacerlo, porque los campos se llenaban solos simplemente diciendo a cada columna del dbGrid que campo devuelto por el SELECT se corresponde, ahora tengo que crear 3 columnas que no pertenecen a 1 campo devuelto del SELECT cada una, sino que tengo que coger 1 de esos campos, dividirlo y meter el valor en esa columna.

No sé como hacer para dejar 3 columnas en blanco y recorrer la tabla dbGrid poniendo los valores a cada una después de obtener cada una de las columnas (es decir de haber cogido la cadena y separar los 3 valores).
No sé si me he explicado. Me urge saberlo. Gracias!!!

(uso la versión 5.0; no puedo usar otra es la que tenemos en el trabajo. La BD es Oracle).

P.D.: Soy nuevo en este foro. Espero poder participar activamente, ayudando con la experiencia que vaya adquiriendo (ya que me esperan muchas horas delante del Delphi jajaja) e intercambiando ideas. Saludos.

Última edición por gesDelf fecha: 09-09-2006 a las 12:27:48.
Responder Con Cita