![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Esa sentencia sql está mal.
En todo caso sobra el where de abajo:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
|||
|
|||
|
Más detalles del problema
Hola Casimiro gracias por responder. El Where de ahi está por que ese Procedure lo utilizo para varias partes del código, en algunas de ellas debo agregar una condición adicional a la busqueda, sin embargo como para éste caso no necesito agregar una condición, le mando un espacio en blanco que no le afecta nada al Query, te comento que al correr el Query (Reemplazando los
aram por el booleano indicado en el código y en lugar del where (variable) sólo un espacio) funciona a la perfección, el problema viene cuando se ejecuta dicho Procedure en Android, ya que en Windows funciona como debe, y al depurar el código es justo en la línea del Execute donde falla para Android:Código:
DtmClientes.MSQueryCmbPedido.Execute; Código:
Procedure LlenarPlantillasMetaLB();
var
strSQL:String;
ID_PMeta: String;
begin
DtmListaPedidos.MSConnectionListaPedidos.Connected:=True;
if DtmListaPedidos.MSConnectionListaPedidos.Connected = True then
begin
strSQL:= 'SELECT ID FROM NtaMeta WHERE (Plataforma = :param1) AND (ID_Status = :param2)'
+'ORDER BY NtaMeta_ID';
DtmListaPedidos.MSQueryMetas.SQL.Text := strSQL;
DtmListaPedidos.MSQueryMetas.Params[0].Value := 'Ambas';
DtmListaPedidos.MSQueryMetas.Params[1].Value := 2;
DtmListaPedidos.MSQueryMetas.Execute;
DtmListaPedidos.MSQueryMetas.First;
while not DtmListaPedidos.MSQueryMetas.Eof do
begin
ID_PMeta := DtmListaPedidos.MSQueryMetas.Fields[0].Text;
FrmLPedidos.ListBoxTipo.Items.Add(ID_PMeta);
DtmListaPedidos.MSQueryMetas.Next;
end;
end;
DtmListaPedidos.MSConnectionListaPedidos.Connected := False;
end;
|
|
#3
|
||||
|
||||
|
¿Quieres decir que ese 'where' es una variable?
Cámbiale el nombre, por ejemplo cWhere, y prueba.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
Cita:
Ya intenté cambiarle el nombre y sigue el mismo error, reemplacé el componente en el módulo, agregué directamente los parámetros y sigue sin funcionar. ¿Por cierto saben por que al correrlo en Android me convierte una variable de String a Short? |
|
#5
|
||||
|
||||
|
Hola,
Esto parece un caso típico de referencia débil hacia una instancia, hay que buscar dentro del código (haciendo debug) ¿Cuál es el objeto que Android está liberando automáticamente? y convertir dicha instancia en una referencia fuerte. Para entender esto, recomiendo el libro de DALIJA PRASNIKAR llamado Memory Management For Classic And ARC, el cual trata precisamente este tipo de temas. Si queremos evitar este tipo de sorpresas (Ya sea que usemos Delphi o cualquier otro lenguaje) en dispositivos móviles debemos comprender dicho tema... pues los sistemas operativos móviles como Android o iOS trabajan de ese modo.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
#6
|
|||
|
|||
|
Cita:
Código:
DtmClientes.MSQueryCmbPedido.Active := True;
DtmClientes.MSQueryCmbPedido.Execute;
|
|
#7
|
||||
|
||||
|
No he usado SDAC (los componentes que comentas), pero normalmente para una consulta tipo SELECT utilizamos un OPEN o un ACTIVE y para otro tipo de SQL's (INSERT(/DELETE/UPDATE) utilizamos un Execute.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| raised exception class segmentation fault (11) al iniciar en modo debug | D1360666 | Desarrollo en Delphi para Android | 27 | 04-05-2018 22:13:01 |
| Problemas de Exception Class | edwin.simon | OOP | 11 | 23-09-2014 20:35:37 |
| Raised exception class | amparog | Varios | 3 | 12-09-2010 00:18:59 |
| Exception class EInvvalidOperation... | MON___ | OOP | 2 | 03-10-2007 13:54:38 |
| Exception class EAccess violation... | Giniromero | Conexión con bases de datos | 1 | 13-06-2003 12:47:38 |
|