PDA

Ver la Versión Completa : Problema al Almacenar Datos de LookUpComboBox, en una BD Firebird


day_eli
20-07-2007, 16:00:08
Hola Buen día a todos, en un formulario, tengo varios TEdit, LookUpComboBox, el problema es que al guardar los datos en la BD, esto me genera un Error.
'INVALID VARIANT TYPE CONVERSION'

El código que utilizo en el Botón Guardar es el Siguiente:

procedure TFrmDepositos.BtnGuardarClick(Sender: TObject);
begin
if Accion='Guardar' then tbldepositos.Insert;
if Accion='Editar' then tbldepositos.Edit;
tbldepositos.FieldByName('codigo').asstring:=(txtcodigo.Text);
tbldepositos.FieldByName('cod_estado').AsString:=vartostr(cmbestado.KeyValue);
tbldepositos.FieldByName('cod_ciudad').AsString:=vartostr(cmbciudad.KeyValue);
tbldepositos.FieldByName('cedresponsable').AsString:=vartostr(cmbresponsable.KeyValue);
tbldepositos.FieldByName('f_creacion').AsString:=DateToStr(Date);
tbldepositos.FieldByName('estatus').AsString:=cmbestatus.Text;
tbldepositos.FieldByName('direccion').AsString:=txtdireccion.Text;
tbldepositos.Post;
tbldepositos.Close;
tbldepositos.Open;
Application.MessageBox('Datos Guardados','Información',MB_OK+MB_ICONINFORMATION);
btnnuevo.Click;
end;


En varios formularios me ha pasado lo mismo, lo que he hecho es quitar el DBLookUpComboBox y colocar un TEdit...Lo malo es que ahora en el formulario que estoy trabajando tengo varios DBLookUpComboBox y es necesario utilizar esta herramienta.

eduarcol
20-07-2007, 17:57:05
y si en lugar de tomar el keyvalue lo tomas directamente desde el dataset asociado?? a fin de cuentas es lo mismo ya que este se encuentra posicionado sobre el registro

ContraVeneno
20-07-2007, 18:37:07
solo quítale la función vartostr();

day_eli
20-07-2007, 20:57:01
Amigos Eduarcol y Contraveneno...acabo de hacer lo que me sugieren pero el error sigue!!!!:eek:

ContraVeneno
20-07-2007, 22:22:47
pues habría que verificar que dato de regresa cada keyvalue y ver si alguno esta mal, porque así como así, no le veo nada extraño al código que pusiste

eduarcol
21-07-2007, 16:54:07
Que tal si colocas el codigo corregido a ver, porq si hicistes como cualquiera de los dos te recomendo puede que te de error pero el mismo???