4

Click here to load reader

_Operaciones b+ísicas en una base de datos SQL Server

Embed Size (px)

Citation preview

Page 1: _Operaciones b+ísicas en una base de datos SQL Server

Operaciones básicas en una base de datos SQL Serverutilizando lenguaje C# 2005

Los elementos comunmente utilizados para realizar estas operaciones son:

SqlConnection: Conexión a utilizar para comunicarse con la base de datos. Como

parámetro contiene el string de conexión.

SqlCommand:Objeto a utilizar para realizar una operación de inserción,

eliminación o actualización de uno o más registros en la base de datos.

SqlParameter:Objeto utilizado para introducir parámetros variables dentro de

un query a realizar sobre la base de datos.

SqlDataAdapter:Objeto a utilizar para realizar una operación de consulta o

ejecución de un procedimiento almacenado en la base de datos.

DataSet:Objeto en el que se almacenan los registros devueltos por una

consulta hecha a la base de datos.

INSERCION

Para poder insertar información en una tabla de una base de datos en SQL server se utilizan los siguientes componentes:

SqlConnectionSqlCommandSqlParameter

En el siguiente ejemplo se demuestra como se realiza una inserción en la base de datos:

//Se inicializa el objeto de conexión con el string de conexión.//El campo "Data Source" contiene el nombre de la máquina donde se //encuentra la base de datos. Si se tienen varios manejadores de bases//de datos instalados es conveniente especificar el manejador sobre el //que se va a trabajar, de lo contrario se utiliza el valor "local". En //este caso utilicé "ALVOS" ya que tengo instalado en mi máquina SQL //Server 2000 y SQL Server 2005 y el nombre del servidor que utilicé es //el de mi base de datos SQL Server 2000//Database es la base de datos a utilizar//User Id es el nombre del usuario creado en el manejador de la base de //datos para manipular la misma. Recuérdense de otorgarle los permisos//necesarios para no tener problemas con los queries//Password es la contraseña asignada al usuario al momento de crearloSqlConnection conexion = new SqlConnection("Data Source=ALVOS; Database=gestionEstudiante; User Id=alvos;Password=1234");

//se crea el objeto que contendrá el query de inserción SqlCommand cm = new SqlCommand();

Page 2: _Operaciones b+ísicas en una base de datos SQL Server

// se especifíca que el tipo de query a realizar será un textocm.CommandType = CommandType.Text;

// se especifica el texto del query// todas las palabras que tienen antepuesto una "@" son nuestros //parámetros que contienen los valores que nosotros les asignamos. //Estos parámetros son variablescm.CommandText = "INSERT INTO estudiante values(@carne,@nombre, @apellido,@direccion)";

//se crea un SqlParameter por cada parámetro especificado en nuestro //query.//SqlDbType es el tipo de dato que nosotros le pusimos en nuestra tabla//al campo que representa nuestro parámetro. En este caso todos mis //campos de la tabla son de tipo VARCHARSqlParameter par_carne = cm.Parameters.Add("@carne",SqlDbType.VarChar);SqlParameter par_nombre = cm.Parameters.Add("@nombre",SqlDbType.VarChar);SqlParameter par_apellido = cm.Parameters.Add("@apellido",SqlDbType.VarChar);SqlParameter par_direccion = cm.Parameters.Add("@direccion",SqlDbType.VarChar);

// se asignan los valores a los parámetrospar_carne.Value = "200212212";par_nombre.Value = "Víctor";par_apellido.Value = "Alvarez";par_direccion.Value = "zona 7";

// se especifíca la conexión a utilizar para ejecutar el query. En este // caso utilizamos nuestro objeto creado anteriormentecm.Connection = conexion;

// abrimos la conexión para ejecutar el queryconexion.Open();

// ejecutamos el querycm.ExecuteNonQuery();

// cerramos la conexión para ejecutar el query. Esto debe hacerse // siempre ya que si la conexión se queda abierta, nadie podrá entrar a // realizar otra operación a la tabla que bloqueamos con nuestro query.conexion.Close();

De la misma manera se realiza una actualización o eliminación. Lo único que cambia es la instrucción SQL a utilizar (UPDATE para actualizar y DELETE para eliminar).

Page 3: _Operaciones b+ísicas en una base de datos SQL Server

SELECCION

Para realizar una selección en una tabla de la base de datos se utilizan los siguientes objetos:

SqlConnectionSqlDataAdapterDataSet

// se inicializa la conexión de la misma manera que el ejemplo de inserción.SqlConnection conexion = new SqlConnection("Data Source=ALVOS; Database=gestionEstudiante; User Id=alvos;Password=1234");

// se crea una instancia de nuestro DataSetDataSet tabla = new DataSet();

// se crea una instancia de nestro objeto conector especificando el// string que contiene el query de selecciòn y la conexión. En este// caso nuestra conexión es el objeto de conexión creado anteriormenteSqlDataAdapter conecto = new SqlDataAdapter("SELECT * FROM estudiante", conexion);

// se llena el dataset con la información. El dataset debe ser agregado //como parámetro en la instrucción Fill de nuestro conector. En este //caso nuestro dataset es "tabla"conecto.Fill(tabla);

Para utilizar los valores almacenados en nuestro DataSet se utilizan los siguientes atributos:

Tables: Es atributo directo del DataSet y contiene una colección de tablas devueltas por nuestra consulta.

Rows: Es un atributo de un objeto de la colección tables y contiene una colección de filas devueltas por la consulta.

El ejemplo siguiente muestra una ventana de alerta (MessageBox) con el carné del primer registro de mi tabla estudiante

MessageBox.Show(tabla.Tables[0].Rows[0]["carne"].ToString());

Tables[0] especifica que quiero la primera tabla de la colección, en este caso sería mi tabla estudiante especificada en mi query "SELECT * FROM estudiante"

Rows[0] especifica que estaré utilizando mi primera fila o registro de la tabla que obtuve del query

Rows[0]["carne"] especifica que de la primera fila utilizaré el valor del campo "carne"

Rows[0]["carne"].toString() convierte a un string el valor que se encuentra en el campo carné de mi primera fila devuelta por el query

Page 4: _Operaciones b+ísicas en una base de datos SQL Server

Por lo tanto la instrucción completa es

tabla.Tables[0].Rows[0]["carne"].toString();

Los valores de nuestros campos pueden ser convertidos al tipo de dato que querramos utilizando la instrucción Convert.

En el siguiente ejemplo convierto el campo carne a una variable de tipo entero y lo asigno a mi variable entera carné:

int carne = Convert.ToInt32(tabla.Tables[0].Rows[0]["carne"])

OJO, esta operación es solo para demostrar como se convierten los datos, si la implementan puede fallar ya que un entero no aguanta el tamaño de un carné.

La tabla que utilicé para el ejemplo es la siguiente:

Tabla estudianteCampo Tipocarne varcharnombre varcharapellido varchardireccion varchar

Espero que este manual les sirva para tener noción acerca de cómo se realizan las conexiones y operaciones en una BD desde c# y que les sirva de punto de partida para que investiguen y perfeccionen sus formas de realizar estas operaciones.