Hola, soy nuevo en el foro. Me gustaría saber si alguien sabe como resolver la excepción mencionada anteriormente, el problema es algo específico:
Estoy intentando llenar un ComboBox con datos obtenidos a través de un query desde una BD SQL Server. Estoy probando la Aplicación tanto en Windows como en Android, en Windows todo corre de maravilla, no me sale ningún error ni nada, sin embargo al probar con Android me aparecen varios errores, el primero a resolver es el de éste ComboBox. Para hacer las transacciones con la BD estoy usando SDAC de Devart y el componente TMSQuery, el código es el siguiente.
Código Delphi
[-]Procedure CargarCombo(combo:TComboBox;Where:String);
begin
DtmClientes.MSConnectionClientes.Connected := True;
if DtmClientes.MSConnectionClientes.Connected = True then
begin
DtmClientes.MSQueryCmbPedido.SQL.Text := 'SELECT Clientes.ID_Cliente, Clientes.Clie_Nombre, '
+'Clientes.Clie_Apellidos FROM Clientes WHERE Clientes.[Activado]= :param1 '
+'AND Clientes.Eliminado= :param2 '+ Where +' ORDER BY Clientes.Clie_Nombre, Clientes.Clie_Apellidos;';
DtmClientes.MSQueryCmbPedido.Params[0].Value := True;
DtmClientes.MSQueryCmbPedido.Params[1].Value := False;
DtmClientes.MSQueryCmbPedido.Execute;
DtmClientes.MSQueryCmbPedido.First;
(combo as TComboBox).Items.Add('-Seleccione un Cliente o Agregalo');
while not DtmClientes.MSQueryCmbPedido.Eof do
begin
(combo as TComboBox).Items.AddObject(DtmClientes.MSQueryCmbPedido.Fields[1].AsString + ' ' + DtmClientes.MSQueryCmbPedido.Fields[2].AsString,
TObject(DtmClientes.MSQueryCmbPedido.Fields[0].AsInteger));
DtmClientes.MSQueryCmbPedido.Next;
end;
end;
DtmClientes.MSConnectionClientes.Connected := False;
end;
Para éste caso los parámetros que recibe son:
-combo: MiForm.ComboBox;
-Where: ' ';
Este código es el mismo que uso para llenar los ListBox, ya llené dos ListBox para llegar a ese punto y ninguno lanzó error.
Para no hacerlo más largo, corre bien hasta llegar a la linea del Execute que es donde truena y aparece el error.
P.D. Al ejecutar el Query en SQL Server si me regresa los datos que necesito.