FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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... Última edición por dec fecha: 03-08-2005 a las 17:38:47. Razón: (corrección del texto) |
#3
|
|||
|
|||
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 |
#4
|
||||
|
||||
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". |
#5
|
|||
|
|||
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?? |
#6
|
|||
|
|||
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?? |
#7
|
|||
|
|||
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?? |
#8
|
||||
|
||||
Hola,
Cita:
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. |
#9
|
|||
|
|||
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?? |
#10
|
|||
|
|||
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. |
#11
|
||||
|
||||
Hola,
Cita:
|
#12
|
|||
|
|||
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? |
|
|
|