You are on page 1of 3

Creando una aplicación para conectarse a MS SQL Server

Cuando uno instala .Net Framework, se instalan las clases que permiten el acceso a una base de datos MS Sql Server, por lo que dentro de la biblioteca de clases, vienen las clases que nos permiten trabajar con esta base de datos. Si queremos cambiar de base de datos, debemos de conseguirnos las clases que nos permitirán conectarnos a la base de dato que deseemos, existen conectores para MySql, Postgress ,etc. En esta ocasión, lo que voy a hacer es crear dos proyectos del tipo ClassLibrary, uno en C# y otro en C++ para que tengas la aplicación en ambos lenguajes. A través de estas aplicaciones me conectaré a una Base de Datos MS SQL Server 2008, extraeré la información y en un post posterior te mostraré como puedes hacer para mostrarla en pantalla. Te recomiendo leer el post Creando un Proyecto Class Library para que recuerdes de que se trata. Continuando, recuerda que que estoy haciendo dos proyectos, uno en C# y otro en C++, pero basta con hacer sólo uno de ellos, porque recuerda que en Visual Studio, puedes combinar, en una misma solución, varios lenguajes. En general, para conectarnos a una base de datos necesitamos de un objeto Connection y un objeto Command y de manera puntual los objetos en el caso de SQL son SqlConnection y SqlCommand, ambos definidos en el namespace System.Data.Sql. De igual forma necesitamos de un SqlAdapter, quien es el vínculo entre el comando definido y por lo tanto quien será el canal de comunicación entre nuestra aplicación y la base de datos.

Luego de crear los proyectos, lo primero que voy a colocar son los namespace que me hacen falta para trabajar: Visual C++ C# 1 using namespace System; 2 using namespace System::Collections::Generic; 3 using namespace System::Linq; 4 using namespace System::Text; 5 using namespace System::Data; 6 using namespace System::Data::Sql;

por lo que permite que la aplicación Cliente. insertar nuevos campos. El DataSet. pudiste observar que hay una serie de Clases que nos permitirán trabajar con la data.com/wp03 includes/images/smilies/icon_biggrin. Uno de estas clases es el DataSet.gif" alt=":D" class="wp-smiley"> ataSet^ Trae_Informacion_Desde_BD() 04 { 05 06 07 08 09 10 11 12 13 14 15 16 17 /*Creamos un objeto del tipo SqlConnection * para conectarnos a la Base de Datos*/ SqlConnection ^sqlcon = gcnew SqlConnection(). te permite definir un objeto para que. Por lo tanto. el cual será recorrido o manipulado por otra aplicación. /*Creamos un comando para seleccionar *los campos que deseamos obtner*/ SqlCommand ^cmd = gcnew SqlCommand("Select * from pubs"). el DataSet se refleja desde el lado Cliente. user id=sa. modificarla. el cliente pueda mostrarla. Visual C++ C# view sourceprint? 01 public ref class MiPrimeraConexionaunaBD 02 { public <img src="http://copstone. etc. del objeto Connection que se utilice para conectarse a la Base de Datos indicada. luego de extraída la información. initial catalog=Pubs. En resumen. password=SsAa". Asignando la Cadena de Conexión Por su nombre en inglés. voy a definir una función que te permita obtener todos los registros de la tabla CopstoneTable ubicada en la base de datos llamada CopstoneBD y que retorne un DataSet. /*Mediante la propiedad ConnectionString *asignamos la cadena de conexión */ sqlcon->ConnectionString = "DatSource=localhost.7 using namespace System::Data::SqlClient. tenga en memoria los datos que han sido extraídos para poder trabajar con ellos. Si leíste los dos post a los que hago mención al inicio. /*Creamos un sqladapter que estará * vinculado a la consulta realizada*/ . la cadena de conexión es asignada mediante la propiedad ConnectionString.

} } catch(. } SqlDataAdapter ^da = gcnew SqlDataAdapter(cmd). cambiado el nombre de la Base de Datos en la cadena de conexión y el nombre de la tabla. con este código. Cuando instalas MSSQL Server.18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 }. etc. } /*Retornamos el objeto dataset *para ser utilizado por el cliente*/ return ds. //Creamos un objeto DataSet DataSet ^ds = gcnew DataSet()... pero lo que aún no hacemos es como insertar. En el próximo post. modificar o borrar los valores. puedes obtener la información desde cualquier tabla. . Lo que hace este código únicamente es recopilar información desde una tabla. } __finally{ /*Finalmente siempre cerramos la conexión a la BD */ sqlcon->Close(). lo que voy a realizar es una aplicación cliente que interactúe con este Proyecto ClassLibrary y por lo tanto recorra el DataSet y puedas mostrar la información en pantalla. NorthWind. Bueno.) { //Ante cualquier error lanzamos la excepción throw . try{ /*A partir del sqladapter *definido llenamos el dataset*/ da->Fill(ds). try { //Abrimos la conexión a la BD sqlcon->Open(). las cuales puedes utilizar para practicar estas rutinas. eso lo iremos aprendiendo de a pocos. trae Bases de Datos de Ejemplo: Pubs.