Ver Mensaje Individual
  #1  
Antiguo 25-05-2011
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Reputación: 17
juank1971 Va por buen camino
Tstrings en datasnap

Saludos :
Alguien me puede decir como pasar como parametros a un servidor Datasnap un Tstrings, estoy usando delphi XE y DataSanap conectado a MySql funciona todo bien, Cuando paso a un procedimiento del servidor DataSnap un string funciona perfecto pero cuando lo hago con un Tstring me da error

Lo que quiero hacer realmente es ejecutar varios insert en una sentencia pasada al servidor datasnap en un Tstrings

ejemplo
Código SQL [-]
inser into 'documentos' values ('','c:\delphi\delphi.doc',null);
inser into 'documentos' values ('','c:\delphi\delphi1.doc',null);
inser into 'documentos' values ('','c:\delphi\delphi2.doc',null);

este es el procedimiento que uso para ejecutar varias sentencias sql
Código Delphi [-]
procedure TServerMethods1.EjecutaVariasSQL(sql1: Tstrings);
var
  i,j: Integer; s,Sentencia:string;
begin
   for i := 0 to sql1.Count - 1 do
        begin
          s := sql1[i];
          // va ejecutando cad sentencia MySql terminada en ; una a una
          for j := 1 to length(s) do
            if s[j] <> ';' then
              Sentencia := Sentencia + s[j]
            else
            begin
              try
                ServerContainer1.MySqlCon.ExecuteDirect(Sentencia + ';');
                // ejecuta la sentencia independiente
                Sentencia := '';
              except
               // res := 'Error creando tablas de la base de datos'
              end; // try
            end
        end;
end;

este procedimiento funciona bien cuando lo llamo desde el mismo servidor DataSnap con una salva por ejemplo de la base de datos y este procedimiento ejecuta cada sentencia sin problemas, si alguien el sirve lo pueden usar , es ideal para crear y restaurar salvas con sentencias sql

pero al llamarlo del cliente me da error que mas odio en delphi

remote error:accses violation at address in server.exe

y cuando pongo una traza en el servidor el tstrings sql1 llega vacio.

alguna sugerencia de los que estan al asecho .

Gracias por adelantado.

PD:
A veces me da emoción leer una respuesta aqui, incluso cuando veo que tengo una respuesta antes de leer busco un té y me lo tomo mientras leo,
me parece que estoy como en una tertulia de poesia o algo parecedido, y que cada respuesta veo una persona sin rostro que me aconseja como si fuera un medico con una enfermedad grave.
Responder Con Cita