27/04/2008, 12:15
|
| | | Fecha de Ingreso: marzo-2007 Ubicación: Villahermosa, Tabasco
Mensajes: 43
Antigüedad: 17 años, 9 meses Puntos: 0 | |
Re: Asp.Net Con Oracle La verdad, mil disculpas por la tardanza, y no me dio tiempo de escribir la respuesta, dado que todavia no eh terminado el trabajo, Mientras encuentro otra cosa le termino de platicar en que termino este desenlace.
Existen 3 formas para poder hacer estas operaciones de INSERT, DELETE, UPDATE.
1.- Cadena de texto
2.- Usando parametros
3.- Llamando procedimientos
solo voy a poner un ejemplo muy sencillo para su explicacion. 1.- Cadenas de Texto
solo utilizar los datos que vas a utilizar para la insercion.
ej.
MyCommand.CommandText="DELETE FROM TABLA WHERE '"+valor.Text.ToString()+"'";
MyCommand.ExecuteNonQuery(); 2.- Usando Parametros
es lo que habia hecho primero.
/Declaro mis parametros que voy a utilizar
System.Data.OracleClient.OracleParameter Nombreq;
//Instanceo mis parametros
Nombreq = new System.Data.OracleClient.OracleParameter();
//Asigna a los parámetros los valores que serán almacenados
Nombreq.OracleType = System.Data.OracleClient.OracleType.VarChar;
//le doy nombre a los parametros
Nombreq.ParameterName = "Param1";
//les digo de que tipo de parametros van a hacer.
Nombreq.Value = Paternos.Text.ToString();
//Limpio los parametros que voy a utilizar evitando alguna basura...
MyCommand.Parameters.Clear();
//agrego los parametros para la ejecucion del comando
MyCommand.Parameters.Add(Nombreq);
//agrego el comando a ser ejecutado
MyCommand.CommandText = "insert into especialidades(Nombre)values(:Param2)";
MyCommand.ExecuteNonQuery(); 3.- Llamando Procedimientos
El procedimiento debe esta ya compilado y listo para usarse, en este caso es para las operaciones mencionadas anteriormente.
MyCommand.CommandText="CALL PROCEDIMIENTO1("+Valor1.Text.ToString()+")"
MyCommand.ExecuteNonQuery();
ahora bien, asi como estan en caso de tener un error, les marcarian errores desde el Compilador como les mostraba "El còdigo de usuario no controlò invalidOperationExeption, operaciòn no valida; se ha terminado la conexion Sugerencias para solucionar problemas".
esto es porque no utilizaba los:
TRY
{MyConexion.Open();
}
CATCH(Exception ex)
{MessageBox.Show(ex.Mesage,"encabezado",MessageBut tons.OK);
}
FINALLY
{MyConexion.Close();
}
el catch recoge el error y ya no se saca del programa sino que solo te lo manda en un cuadro de dialogo.
saludos espero que sirva de algo, |