FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Cambio de Stored Procedure
Hola otra ves ..
TEngo el siguiente problema: Tengo un Objeto ADOStoredProc el cual manejo para hacer todas mis operaciones(Insert, Update, Delete)... lo que quiero hacer es hacer el cambio de stored procedure cuando sea el caso.. utilizo lo siguiente: //Borro los parametro(eso piendo) ADOStoredProc2.Parameters.Clear; //Coloco el nuevo Stored procedure ADOStoredProc2.ProcedureName:=('update_Grupo_1;1'); //Asigno valores a los parametros ADOStoredProc2.Parameters.ParamValues['@id_1']:=StrToInt(Edit1.Text); ADOStoredProc2.Parameters.ParamValues['@Grado_2']:=Edit2.Text; ADOStoredProc2.Parameters.ParamValues['@Grupo_3']:=Edit3.Text; ///Ejecuto el Proceso. ADOStoredProc2.ExecProc; Esto es lo que hago despues de hacer un insert... osea inserto y si quiero actualizar otro campo cambio del stored procedure me marca: que no encontro los parametro.. diganme que estoy haciendo mal de ante mano Gracias!! |
#2
|
|||
|
|||
Cambio de SP
Hola
Me parece que lo que te falta es la sentencia Prepared:= True; que va antes de ejecutarlo (ExecProc). Para que tu codigo sea mas compacto por que no utilizas el with StoredProcedure y te ahorras mucho codigo. Saludos Luis Garcia _____________________________ La mejor manera de decir es hacer |
#3
|
||||
|
||||
Cambio de Stored Procedure
Tanks por responder... perdona mi ignorancia... pero como utilizo el With en esto.. me podrias decir...
Gracias !! |
#4
|
||||
|
||||
Cambio de Stored Procedure
Ok, lo hice con el with.. quedo asi:
with ADOStoredProc2 do begin Parameters.Clear; ProcedureName:=('ActualizarGru;1'); Parameters.ParamValues['@ID']:=StrToInt(Edit1.Text); Parameters.ParamValues['@Grado']:=Edit2.Text; Parameters.ParamValues['@Grupo']:=Edit3.Text; Prepared:=True; ExecProc; end; pero me sigue marcando el mismo error, que no encuentra los parametros... |
#5
|
|||
|
|||
Cambio de SP
Hola
Nunca he trabajado usando la propiedad ProcedureName pasandole el nombre del SP en tiempo de ejecucion, hice una prueba y me da el mismo error que a ti. Pero se que se puede hacer porque yo he visto a un colega mio realizar esa operacion. Seguire buscando. Saludos Luis Garcia _____________________________ La mejor manera de decir es hacer |
#6
|
||||
|
||||
Cambio de Stored Procedure Resuelto!!
Bueno al parecer solo faltaba la instruccion para refrescar los paremetros
with ADOStoredProc2 do begin Parameters.Clear; ProcedureName:=('ActualizarGru;1'); Prepared:=True; Parameters.Refresh; Parameters.ParamValues['@ID']:=StrToInt(Edit1.Text); Parameters.ParamValues['@Grado']:=Edit2.Text; Parameters.ParamValues['@Grupo']:=Edit3.Text; ExecProc; end; ADODataSet1.Refresh; end; Con esto me funciono todo bien, me cambia el Stored procedure con sus parametros corespondientes. Gracias a todos!!! y saludos |
#7
|
||||
|
||||
Cambio de Stored Procedure 2
Oks, disculpen..
EL ultimo codigo me dio algunos problemas. cuando lo ejecutaba por segunda ves... el codigo que les menciono ahora es el que estoy usando en la aplicacion y funciona excelente: Código:
dmConocimiento.AdoOpePre2.Parameters.Clear; dmConocimiento.AdoOpePre2.ProcedureName:=('ActualizarPre;1'); dmConocimiento.AdoOpePre2.Parameters.Refresh; dmConocimiento.AdoOpePre2.Parameters.ParamValues['@ID']:=StrToInt(EID.Text); dmConocimiento.AdoOpePre2.Parameters.ParamValues['@TipoT']:=StrToInt(ETema.Text); dmConocimiento.AdoOpePre2.Parameters.ParamValues['@descripcion']:=EDescripcion.Text; dmConocimiento.AdoOpePre2.Parameters.ParamValues['@Estado']:=StrToInt(EEstado.Text); dmConocimiento.AdoOpePre2.Parameters.ParamValues['@Responsable']:=Eresponsable.Text; dmConocimiento.AdoOpePre2.Parameters.ParamValues['@Fecha']:=StrToDate(EFecha.Text); dmConocimiento.AdoOpePre2.ExecProc; dmConocimiento.AdoConPre.Refresh; |
|
|
|