Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2007
SEBACOHEN SEBACOHEN is offline
Registrado
 
Registrado: ene 2007
Posts: 3
Poder: 0
SEBACOHEN Va por buen camino
Problemas con consulta y DBLookUpComboBox

Hola a todos. Estoy haciendo un programa en Delphi y me surgio un problema. Me hablaron muy bien de este foro como para poder solucionarlo, asi que aqui estoy.
Tengo un DBLookUpComboBox que me muestra el nombre de categorias adquirido de una tabla "categoria". Yo estoy en la accion "ButtonClick" de un boton "aceptar" para guardar el resultado de dicho DBLookup... en la tabla "articulo" pero necesito un query que, tomando como entrada el valor del DBLookUpComboBox (es un string), me devuelva el id correspondiente a la categoria elegida (otro campo en la tabla "categorias"), ya que este es clave primaria de otra tabla "articulo", y lo necesito para la relacion (en la tabla articulo figura el id de categoria y no el nombre).

Este el codigo que hice, a ver donde me equivoco (codCat es el nombre del Query y cat es el parametro de entrada que representa a la opcion elegida en el dblookupcombobox)

procedure TForm8.Button1Click(Sender: TObject);
begin
DataModule7.Articulos.Edit;
DataModule7.codCat.Close;
DataModule7.codCat.ParamByName('cat').AsString:=DBLookupComboBox1.text;
DataModule7.codCat.Open;
DataModule7.Articulos.FieldByName('Nro_categoria').value:=DataModule7.DataSourceQuery;
DataModule7.Articulos.Post;
end;


Y esta es la consulta SQL del query
select nro_categoria
from categoria
where categoria.nombre= :cat


Esto que hice me tira error en la linea roja.
[Error] Unit8.pas(45): Incompatible types: 'Variant' and 'TDataSource'

A ver si se entiende lo que necesito, sino trato de explicarme mejor. Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 30-01-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
hola, ante todo bienvenido

Al igual que usas FieldByName en Articulos, tienes que usar FieldByName en codCat:
Código Delphi [-]
DataModule7.Articulos.FieldByName('Nro_categoria').value := DataModule7.codCat.FieldByName('nro_categoria').AsVariant;

Aunque si el 'Nro_categoria' es numérico mejor sería:
Código Delphi [-]
DataModule7.Articulos.FieldByName('Nro_categoria').AsInteger := DataModule7.codCat.FieldByName('nro_categoria').AsInteger;

Y si es texto:
Código Delphi [-]
DataModule7.Articulos.FieldByName('Nro_categoria').AsString := DataModule7.codCat.FieldByName('nro_categoria').AsString;

De todas maneras, si usas un DBLookupComboBox, te sería más fácil asignarle los campos DataSource y DataField al la tabla de Artículos. Así no tendrías que hacer nada, ya lo haría el propio componente.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta sobre tablas y DBLookupCombobox silviodp Conexión con bases de datos 6 29-11-2006 03:14:02
Problemas con el DBLookupComboBox scorpio4 MySQL 3 05-07-2006 02:13:31
Problemas con el DBLookupComboBox Kerodile Conexión con bases de datos 1 24-06-2005 21:05:52
Problemas con DBLookupComboBox romansiux Varios 3 10-06-2005 04:09:40
problemas con DBLookupCombobox Walterdf Conexión con bases de datos 4 18-07-2003 20:38:48


La franja horaria es GMT +2. Ahora son las 13:56:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi