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.
|