Acceso a base de datos ClaseOracleBD

Anuncio
Acceso a base de datos
ClaseOracleBD
Cadena de conexión
web.config
<connectionStrings>
<add name="ConnectionString1"
connectionString= "Data Source=oradesa;User ID=pruebaDB;Password=xxxx;Unicode=True"
providerName="System.Data.OracleClient"/>
</connectionStrings>
Uso
ConfigurationManager.ConnectionStrings["ConnectionString1"].ConnectionString;
Referéncias
Examinar
\ToolsNet\DLLs\ClaseOracleBD.dll
.NET
System.Data.OracleClient
using ua;
using System.Data.OracleClient;
Uso
Creación del objeto
ClaseOracleBD baseDatos;
baseDatos = new ClaseOracleBD();
ó
ClaseOracleBD baseDatos = new ClaseOracleBD();
Asociar una cadena de conexión
baseDatos.CadenaConexion =
ConfigurationManager.ConnectionStrings["ConnectionString1"].ConnectionString;
Ejecutar sentencias
Ejecutar sentencias SQL
baseDatos.TextoComando = "SELECT descloc FROM localizaciones";
if (baseDatos.Rs.HasRows) {
while (baseDatos.Rs.Read()) {
Label1.Text += baseDatos.Rs["descloc"] + "<br/>";
}
}
Ejecutar sentencias con Bind
Variables
Crear la sentencia
baseDatos.TextoComando = "SELECT nombre FROM usuarios " +
"WHERE codloc=:pCodLoc AND tipoUsu =:pTipoUsu";
Dar valor a los parámetros
CrearParametro (nombre, tipo, dirección, tamaño, valor)
baseDatos.CrearParametro("pCodLoc", OracleType.Number,
System.Data.ParameterDirection.Input, 0, codLoc);
baseDatos.CrearParametro("pTipoUsu", OracleType.VarChar,
System.Data.ParameterDirection.Input,
tipoUsu.Length, tipoUsu);
Ejecutar procedimientos
// Definimos el tipo de comando
baseDatos.TipoComando= CommandType.StoredProcedure;
// Declaramos el procedimiento sin parámetros
baseDatos.TextoComando= "PRUEBA_PK.Almacenar";
// Declaramos los parámetros, no importa el orden
baseDatos.CrearParametro("param1",
OracleType.Number,
System.Data.ParameterDirection.Input, 0, valorParam1);
baseDatos.CrearParametro("param2",
OracleType.VarChar,
System.Data.ParameterDirection.Input, valorParam2.Length, valorParam2);
//Ejecutamos el procedimiento
baseDatos.Ejecuta();
Clases de acceso a datos
●
ClaseAlumno
●
ClaseEstudio
●
ClaseEstudios
Clases de acceso a datos
Métodos de acceso a datos
public bool Carga(int numeroExpediente) {
ClaseOracleBD baseDeDatos = new ClaseOracleBD();
baseDeDatos.CadenaConexion = _cadenaConexion;
baseDeDatos.TextoComando = "SELECT codexp, nombre, apellidos, email, codest
estudio FROM cnet_valumnos
WHERE codexp=:pNumExpediente";
baseDeDatos.CrearParametro("pNumExpediente", OracleType.Number,
ParameterDirection.Input, 0, numeroExpediente);
if (baseDeDatos.Rs.HasRows)
{
while (baseDeDatos.Rs.Read())
{
_nombre = (string)baseDeDatos.Rs["nombre"];
_apellidos = (string)baseDeDatos.Rs["apellidos"];
_correoElectronico = (string)baseDeDatos.Rs["email"];
_estudios.Add(new ClaseEstudio(Convert.ToInt32(baseDeDatos.Rs["codEst"]),
(string)baseDeDatos.Rs["estudio"]));
}
}
baseDeDatos.Close();
}
Métodos de acceso a datos
public bool Guarda()
{
ClaseOracleBD baseDeDatos = new ClaseOracleBD();
baseDeDatos.CadenaConexion = _cadenaConexion;
baseDeDatos.TipoComando = CommandType.StoredProcedure;
baseDeDatos.TextoComando = "PK_CURSO.ALTA_ALUMNO";
baseDeDatos.CrearParametro("pCodExpediente", OracleType.Number,
System.Data.ParameterDirection.InputOutput, 0, _numeroExpediente);
baseDeDatos.CrearParametro("pNombre", OracleType.VarChar,
System.Data.ParameterDirection.Input, 100, _nombre);
baseDeDatos.CrearParametro("pApellidos", OracleType.VarChar,
System.Data.ParameterDirection.Input, 150, _apellidos);
baseDeDatos.CrearParametro("pEmail", OracleType.VarChar,
System.Data.ParameterDirection.Input, 200, _correoElectronico);
baseDeDatos.Ejecuta();
baseDeDatos.Close();
return (true);
}
Métodos de acceso a datos
public static List<ClaseEstudio> filtrarAlumno(int expediente)
{
List<ClaseEstudio> poolEstudios = new List<ClaseEstudio>();
ClaseOracleBD baseDeDatos;
string consultaSQL;
baseDeDatos = new ClaseOracleBD();
baseDeDatos.CadenaConexion = _cadenaConexion;
consultaSQL = "SELECT codest, estudio
FROM cnet_vusuarios WHERE codexp=:pNumeroExpediente";
baseDeDatos.TextoComando = consultaSQL;
baseDeDatos.CrearParametro("pNumeroExpediente", OracleType.Number,
ParameterDirection.Input, 0, expediente);
if (baseDeDatos.Rs.HasRows) {
while (baseDeDatos.Rs.Read())
poolEstudios.Add(new ClaseEstudio(Convert.ToInt32(baseDeDatos.Rs["codest"]),
string)baseDeDatos.Rs["estudio"]));
}
baseDeDatos.Close();
return (poolEstudios);
}
Descargar