Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-08-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
Angry No parameters Expected(ApplyUpdate)

Hola!!!

estoy haciendo un programa con delphi 5 y midas (corba) tengo un clientdataset, hago las operaciones que tiene que hacer el programa, guardo algunos datos en la base de datos (paradox) o el datamodulo y al momento de aplicar el applyupdates no me deja poner el numero de errores que se pueden aplicar, al poner el parentesis que abre (ApplyUpadate(****) ) me dice que no parameters expected no se porque me marca ese error o ese mensaje.

En ese mismo programa tengo otras tablas, y en esas tablas si me deja aplicar el applyupdate sin ningun problema

Alguien sabe a que se debe eso??

normalmente aplico mis actualizaciones al final del procedimiento.

p.e.

modulotablas.www.ApplyUpdates(-1) <---- en este caso si me deja aplicarlo
modulotablas.www.Refresh;
pero cuando pongo el otro aply es cuando viene el error

modulotablas.zzz.ApplyUpdates(aqui me marca que no parameters expected)
pero no se a que se deba.


Espero que hayan entendido mi pregunta y de antemano gracias por su atencion
Responder Con Cita
  #2  
Antiguo 03-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Sin meterme en donde no sabría salir, creo que, sencillamente, estás utilizando dos métodos distintos, o dos funciones o dos procedimientos distintos, lo que quiera que sean.

Uno de ellos cuenta con determinados parámetros y el otro no. Por eso al intentar dárselos no los acepta, no los espera. Prueba a poner el cursor encima del método que no admite parámetros, pulsa la tecla "CONTROL" y haz clic en el mismo.

Seguramente dicho método te lleve a una implementación del mismo que es distinta de la implementación que tiene el otro método, que, aunque de igual nombre, no hacen lo mismo, o no lo hacen del mismo modo.

Quiere decirse que uno de los métodos puede ser de un objeto y otro de otro. Probablemente puedas asegurarte de que llamas al método oportuno anteponiendo el nombre del objeto. En todo caso asegurarte de que llamas al método que quieres llamar, que, puesto que se coincide con el nombre de otro, no es lo mismo uno que otro.

¿Es todo lo que he dicho una perogrullada y la cosa tiene un intríngulis que se me escapa? Todo pudiera ser...
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 03-08-2005 a las 17:38:47. Razón: (corrección del texto)
Responder Con Cita
  #3  
Antiguo 04-08-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
creo que no me explique bien, dentro de los procedimientos hago las modificaciones a mi bd.

datamodulo1.clientdataset1.fieldbyname('campo1'). value = el valor de un stringgrid
datamodulo1.clientdataset1.fieldbyname('campo1'). value = el valor de un stringgrid

datamodulo2.clientdataset1.fieldbyname('campo1'). value = el valor de un stringgrid
datamodulo2.clientdataset1.fieldbyname('campo1'). value = el valor de un stringgrid

.....
datamodulo1.nombretabla.fieldbyname('n-1'). value = el valor de un stringgrid
y al finalizar el procedimiento aplico los applyupdates para que me guarde los cambios que se hicieron anteriormente
datamodulo1.dataset1.applyupdates(-1);
datamodulo1.dataset2.applyupdates(-1);
pues en este segundo es donde supuestamente no espera parametros, que se supone debe de llevar para que guarde los cambios.

Gracias
Responder Con Cita
  #4  
Antiguo 04-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Disculpa mi ignorancia sobre el tema. Insistiré a riesgo de equivocarme, si cabe, más aún: ¿"dataset1" y "dataset2" son del mismo tipo? Porque si lo son, no comprendo, entonces, cuál puede ser el problema, y, cuando no sean del mismo tipo, se puede comprender que uno implemente el método de marras de una manera y el otro de otra y de ahí el "error".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 04-08-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
si, son iguales, porque es el modulo de datos y tiene es lo mismo (tipo), dentro del modulo de datos estan todas las tablas que utilizo, pero para los fines, si son iguales.
y no comprendo el error, pero bueno lo seguiere checado por un rato mas a ver si le encuentro el porque.

Gracias
Como te sientes hoy??
Responder Con Cita
  #6  
Antiguo 04-08-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
o como puedo saber si no se han aplicado mis actualizaciones en la bd, existe una funcion para ver si ya se guardaron los datos??

Gracias
Como te sientes hoy??
Responder Con Cita
  #7  
Antiguo 04-08-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
ya te entendi. los dataset en este caso son tablas diferentes, pero el applyupdates es para guardar los datos modificados, sin importar si los campos o datos de una tabla son los mismos o diferentes, no?

Gracias
Como te sientes hoy??
Responder Con Cita
  #8  
Antiguo 05-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por david duarte
ya te entendi. los dataset en este caso son tablas diferentes, pero el applyupdates es para guardar los datos modificados, sin importar si los campos o datos de una tabla son los mismos o diferentes, no?
No lo decía yo por tanto. Imaginaba que podrías estar usando un "DataSet" de Delphi, y otro de otra compañía, quiere decirse que, aunque hicieran lo mismo pues pudieran hacerlo de distinto modo y uno tener un método "ApplyUpdates" que admitiera o requiriera parámetros y el otro tener un método de igual nombre pero que no precisara parámetro alguno.

Porque, fuera de todo, el error que te "marca", esto es, "No paremeters expected", está claro: el método en cuestión no precisa parámetros, por tanto no pueden dársele sin que el compilador se queje. Espero que arregles el problema. A ver si al cabo lo consigues y explicas porqué el error y eso.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 05-08-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
bueno, el problema no se porque se dio, el chiste es que lo puse en otra parte del codigo y ya no me marco el error.

mi proyecto hace lo siguiente:

son seguimiento de solicitudes (dar de alta una solcitud, y capturar los resultados de los analisis)

Primero: en cualquier computadora en donde corre el "programa cliente" doy de alta una solicitud(usuario) con el folio 1, entonces el analista que es el que va a capturar los resultados de los analisis, captura los resultados en la computadora que tiene asignada(en el laboratorio), abre la solicitud con ese folio y le muestra el numero de analisis que tiene que capturar y los captura.

p.e. el alta de la solicitud de analisis tiene 3 analisis iguales, para esto asigno un stringgrid donde muestra por medio de renglones el numero de analisis a capturar o realizar( cada renglon representa un analisis)

utilizo un stringgrid.cellselect para saber cual analisis va a capturar( esto es porque en la bd tengo tambien un registro por cada analisis), asigno el numero de renglon a una variable, y se supone que si le doy clic en el primer renglon de stringgrid, le capturo algunos resultados estos me los debe de guardar en el primer registro de la bd; si le dos clic en el segundo, me los debe de guardar en el 2o reg, y asi consecutivamente. y al mismo tiempo me los va mostrando en el stringgrid y me los muestra bien, hasta ahi todo va bien(supuestamente), pero cuando cierro la aplicacion y la vuelvo a abrir, me muestra los resultados de los analisis pero todos con los mismos resultados, a pesar de que yo nada mas capture uno, p.e. si son 4 analisis y yo capture el primero, en los demas registros me muestra los mismos datos que el primero.

siento que algo anda mal al posicionarme en el registro.

primero tengo un ciclo para buscar el analisis, cuando encuentro el analisis o registro, lo edito y despues hago las asignaciones pertinentes.

Pongo el ciclo for en el cual hago eso

for encontrar := 0 to modulotablas.resul_textil.RecordCount do
begin
if modulotablas.resul_textil.FieldByName('Labfolio').value = edit1.Text then
begin
inc(conta); //incremento el contador, contador siempre empieza en 0
if conta < strtoint (label3.Caption) then //label 3 es que tiene el renglon que le di clic
modulotablas.resul_textil.Next //si es menor paso al siguiente registro
else
Begin
if ((modulotablas.resul_textil.FieldByName('LabFolio').value = edit1.text) and (conta = strtoint(label3.Caption)))then
de lo contrario, si es el registro que quiero y el contador es igual a el renglon
//if conta = strtoint(label3.Caption) then
Begin
modulotablas.resul_textil.Edit; <----- se supone que aqui edito el registro actual, si no mal me equivoco
break;
end;

//break;
end;
end //if modulotablas.resul_textil.FieldByName('Labfolio').value = edit1.Text then
else
modulotablas.resul_textil.Next;
end; //for encontrar := 0 to modulotablas.resul_textil.RecordCount do


en estre otro ciclo que sigue a continuacion es donde hago la asignacion
en este caso en el stringgrrid2 guardo los valores que se modificaron

for cont :=0 to stringgrid2.RowCount-1 do
begin
if ((bandpos = 0) and (regnuevo = 'S')) then
Begin
if stringgrid2.Cells[2,cont] <> '' then <-----si contiene datos le asigno los resultados que se capturaron ----->
Begin
modulotablas.resul_textil.FieldByName(stringgrid2.cells[1,cont]).value := stringgrid2.Cells[2,cont];
modulotablas.resul_textil.ApplyUpdates(-1); <----- aplico applyudpate
end;
<----- si esta vacio, quiere decir que no capturaron ningun dato --->
end
else
Begin
if ((stringgrid2.Cells[2,cont] <> '') and (bandpos =0) and (regnuevo = 'N')) then
Begin
if (stringgrid2.Cells[2,cont] <> '') then
Begin
modulotablas.resul_textil.FieldByName(stringgrid2.Cells[1,conta]).value := stringgrid2.Cells[2,cont];
modulotablas.resul_textil.ApplyUpdates(-1);
modulotablas.resul_textil.Refresh;
end;
end; //if ((stringgrid2.Cells[2,conta] <> '') and (bandpos =0) and (regnuevo = 'N')) then
end;
end; //for conta :=0 to stringgrid2.RowCount-2 do


espero que hayan entendido y espero su respuesta, porque la verdad ya me quebrè el cerebro, pero no el encuentro el error

Gracias
Como te sientes hoy??
Responder Con Cita
  #10  
Antiguo 01-09-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
ya encontre el error.

El error es por lo siguiente

primero edito mi Clientdataset, hago operaciones, aplico updates sin ningun problema

despues en un ciclo tengo un dataset, lo edito, y dentro de ese ciclo lo mando al primer registro(con esto se elimina la edicion del dataste), por eso cuando le ponia el ApplyUpdate(**aqui me decia "no parameters expected**) me marcaba ese error, porque no estaba en edicion.
Responder Con Cita
  #11  
Antiguo 02-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por david duarte
despues en un ciclo tengo un dataset, lo edito, y dentro de ese ciclo lo mando al primer registro(con esto se elimina la edicion del dataste), por eso cuando le ponia el ApplyUpdate(**aqui me decia "no parameters expected**) me marcaba ese error, porque no estaba en edicion.
Pues no me cuadra david. Es muy posible que me equivoque, pero, ¿entonces no debería darte un error tal como "El DataSet X no está en edición" o algo parecido... Porque el "no parameters expected" está claro: no se necesitan parámetros... no dice nada más que lo que dice y bien dicho está.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #12  
Antiguo 31-10-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
no, fijate que no me dice nada.
Eso me lo dice cuando estoy ejecutando el programa, al momento de querer dar dos altas, la primera me la hace bien, pero cuando quiero dar de alta la segunda, me dice que primero necesito hacer las actualizaciones.

En tiempo de diseño o de codigo, solamente me aparece "No parameters expected", pero al momento, tu no sabes porque aparece eso. Despues de tiempo, te das cuenta de que no tienes abierto tu dataset.

Bueno al menos eso fue lo que a mi me paso, probablemente este mal y sea por otra cosa.

Cómo te sientes hoy?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:51:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi