FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Error al ejecutar procedimiento en servidor
Hola a todos, tengo un proyecto bastante avanzado en el que utilizo delphi 6
con un remote data module y funciones y procedimientos en este. Todos los procedimientos que tengo creados me funcionan perfectamente pero ahora he creado uno en el que recibo un parámetro de tipo string y este parámetro lo utilizo para hacer una consulta con el like, esta es la consulta: Código:
procedure TConsultasHtml.BuscarArticulo(const Param1: WideString); begin with ADOQuery1 do begin close; sql.Clear; sql.Add('SELECT Producciones.Fecha, Lineas.descripcion_linea, Producciones.id_articulo, '+ 'Articulos.descripcion_articulo, Producciones.Cantidad FROM (Articulos INNER '+ 'JOIN Producciones ON Articulos.id_articulo = Producciones.id_articulo) INNER JOIN '+ 'Lineas ON Producciones.Id_linea = Lineas.Id_linea WHERE Articulos.descripcion_articulo '+ 'Like '+ Quotedstr('%'+ Param1 +'%')); Parameters[0].Value := Param1; open; end; end; Código:
cds.Close; FGrupo.conector.AppServer.BuscarArticulos(Ebuscar.text); cds.Open; Method "BuscarArticulos" not supported by automation object. Si alguién me puede ayudar sobre el tema. Los otros procedimientos y funciones también tienen parámetros y me funcionan perfectamente, este es el único que no quiere funcionar. Os doy a todos las gracias por vuestra ayuda, un saludo.
__________________
No hay vientos favorables para quién no conoce su rumbo. |
#2
|
|||
|
|||
Ya he solucionado el error aunque no gracias a muchas opiniones. Si alguién lo quiere saber que me lo pida en un nuevo post.
Es algo extraño, he puesto algunos post en este tema (providers) y prácticamente nunca he recibido respuestas a mis preguntas, lo de extraño lo digo por que sé de sobra, que aquí hay mucha gente acudiendo a estos foros y que nadie responda a las preguntas en un tema como es corba, midas, etc que esta tan de moda, me resulta muy extraño, ni siquiera los moderadores han contestado a los post, cosa que si ocurre en los otros temas del foro. Me da la impresión de que este tema esta un poco abandonado. Espero que sea un crítica constructiva, un saludo para todos.
__________________
No hay vientos favorables para quién no conoce su rumbo. |
#3
|
||||
|
||||
Holas CORBATIN :-)
Primero felicitarte por haber encontrado la soluciona tu pregunta, se que no soy nadie para criticar tu forma de pensar... estoy de acuerdo con algunos puntos que escribes...peroo..te doy un ejemplo Cita:
Cita:
Je, je,.. ya sabes una broma de mal gusto, pero hay algo de verdad. Pos, te comento que ayer en la noche en una de mis practicas de programacion de tres capas me encontre con el problema de enviar parametros a un procedure desde el cliente a un remote data module, muy contento me sente en una pc por la tarde de hoy, pero me encontre con esta respuesta.... Bueno, sin mas vueltas que dar a este asunto, aun no eh podido solucionar el problema "enviar un parametro al remote data module". A la espera de tu pronta respueta, Your friend StartKill Lima-Perú Nota: ya quedan pocos indios aborigenes en esta tribu, favor de enviar formula para medicina.. |
#4
|
|||
|
|||
Hola StartKill, tienes razón en tus comentarios, he pecado de egoísmo pero todo ha sido debido al enfado por no obtener respuestas en las diversas ocasiones que he colocado temas.
Hoy no te puedo ayudar para decirte como se hace exactamente porque estoy en el lugar de trabajo y no en el ordenador de casa que es donde tengo el programa. Pero si recuerdo que el error era porque no era así como tenía que recibir el paramétro para incluirlo en el like. Tampoco recuerdo si lo hice funcionar con asteriscos o con el signo de porcentaje. Lo que si recuerdo es que lo averigué a través de mostrar la consulta son un showmessage en el lado del servidor y antes de ejecutarla. De esta forma podía ver como quedaba la consulta y así rectificar las cosas que hicieran falta. Siento no poder ayudarte en este momento, para mañana pondré la solución seguro. Espero que se hayan salvado algunos miembros de la tribu. UN SALUDO.
__________________
No hay vientos favorables para quién no conoce su rumbo. |
#5
|
|||
|
|||
Lo prometido es deduda, un saludo y perdón para los que se hayan molestado:
Procedure en el servidor: Código:
procedure TConsultasHtml.AyudaArticulos(CodArticulo: LongWord); begin with ADOQuery1 do begin close; sql.Clear; sql.Add(LeerDatosIni('AyudaArticulos')); Parameters[0].Value := CodArticulo; open; end; end; Código:
AyudaArticulos = SELECT Articulos.id_articulo, Articulos.descripcion_articulo FROM Articulos WHERE Articulos.descripcion_articulo like %s and Articulos.descripcion_articulo like %s Código:
procedure TFAyudaArticulos.BTBuscarClick(Sender: TObject); begin if (Ebuscar1.text <> '') then begin cds.Close; FGrupo.conector.AppServer.BusquedaArticulos(Ebuscar1.text,Ebuscar2.text);//llamada al procedimiento servidor cds.Open; SBdatos.panels[1].text := 'Registros encontrados: '+inttostr(cds.RecordCount); end else showmessage('No hay datos para buscar.'); end; Espero que esto os sirva, un saludo. POSDATA: Entre todos podemos hacer que la tribu no desaparezca.
__________________
No hay vientos favorables para quién no conoce su rumbo. |
#6
|
||||
|
||||
My agradecido por tu ayuda, hoy lo pongo en practica.
Your friend, StartKill Lima-Perú Nota1:La cura ha sido enviada por señales de humo por la tribu "Corbatin", gracias, nos estamos curando la peste esta controlada Nota2:Internet, "el poder de la comunicacion", no la desperdiciemos. |
#7
|
|||
|
|||
Hola,
Creo que esto que sucede en el foro de providers es debido a la cantidad de tecnologias y metodos de programacion distribuida que nos ofrece delphi, y a que tambien somos los menos los utilizamos estas tecnologias respecto a otras como cliente/servidor o monoliticas. Corba + Midas + DCom + WebServices + .Net + Http.......... Saludos,
__________________
Saludos, Bitman |
|
|
|