viernes, 30 de mayo de 2014

Conexion C++ SQL Server Compact Edition

Ejemplo de conexión de C++ con Base de datos compacta (.sdf) de SQL Server

En este ejemplo se realiza la conexión a una base de datos compacta de SQL Server en Visual Studio, la base de datos que se esta utilizando como ejemplo es Northwind.sdf. En este ejemplo solo se realiza una consulta (SELECT) para mostra los registros de una tabla, puedes agregar tus sentencias correspondientes para INSERT, UPDATE & DELETE;

NOTA: Tenemos que agregar la dll System.Data.Sqlserverce.dll como referencia al proyecto. Espero les sea útil.

#include "stdafx.h"

#include
#include
#include
#include
#include
#include

#using
#using
#using
#using

using namespace System;
using namespace System::Data;
using namespace System::Data::SqlServerCe;

//Definicion de funciones
void selectRows(SqlCeConnection^, String^);


void main()
{

    String^ select="SELECT [Shipper ID], [Company Name] FROM Shippers ORDER BY [Shipper ID] DESC";

  system("Color 1E");
  SqlCeConnection^ conn = getConnection();


  selectRows(conn, select);

  conn->Close();
  Console::ReadLine();
}



//Obtener conexion
SqlCeConnection^ getConnection(){
   SqlCeConnection^ conn = gcnew SqlCeConnection();
  conn->ConnectionString="Data Source=D:\\Northwind.sdf";
  conn->Open();
  return conn;
}

//Seleccionar todos los registros
void selectRows(SqlCeConnection^ conn, String^ select){

   SqlCeCommand^ commandSel = gcnew SqlCeCommand(select, conn);
   SqlCeDataReader^ readerSel = commandSel->ExecuteReader();

   if(readerSel->FieldCount>0){
      Console::WriteLine("Los registros son:\n[Shipper ID],[Company Name]");
      while (readerSel->Read()) {
         Console::WriteLine("\t"+readerSel[0]+"\t"+ readerSel[1]);
      }
    readerSel->Close();
 }
}/