Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo se conecta Visual C a la base de datos de SQL Server 2008?

¿Cómo se conecta Visual C a la base de datos de SQL Server 2008?

Si usa ADO para conectarse, puede dividirlo en cuatro pasos:

1. Agregar soporte para ADO

2. ;

3. Operar la base de datos en la fuente de datos;

4.

El código se ve así: //?TestADOSql.cpp?: Define el punto de entrada para la aplicación de consola.

//

#include?"stdafx.h"

#include?"iostream"?

#include?"string "?

#include?"vector"?

//Paso 1: Agregar soporte para ADO

#import?"C:\Program?Files \ ¿Común?Archivos\System\ado\msado15.dll"?no_namespace?rename("EOF","adoEOF")?

usando?namespace?std;

int?_tmain ( int?argc,?_TCHAR*?argv[])

{

CoInitialize(NULL);?//Inicializar el entorno COM

_ConnectionPtr?pMyConnect( __uuidof(Connection)); //¿Definir el objeto de conexión y crear una instancia del objeto?

_RecordsetPtr?pRst(__uuidof(Recordset)); //Definir el objeto del conjunto de registros y crear una instancia del objeto

intentar

{?

//Paso 2: crear una conexión de fuente de datos

/*Abra la base de datos "SQLServer". Esto debe basarse en. la situación de la base de datos de su propia PC ?*/?

pMyConnect-gt;Open("Provider=SQLOLEDB;?Server=.;Database=AIS2;?uid=sa;?pwd=;", "","",adModeUnknown) ;

}?

catch?(_com_error?amp;e)

{ coutlt;lt;"¿Iniciar?falló !"lt;lt;endl; coutlt;lt;e.Description()lt;lt;endl; coutlt;lt;e.HelpFile()lt;lt;endl; return?0;

}

coutlt ;lt;"Connect?succeed!"lt;lt;endl;?

//Paso 3: Operar la base de datos/tabla en la fuente de datos

try

{

pRst?=?pMyConnect-gt; Execute("select?*?from?gendat", NULL, adCmdText); //Ejecutar SQL:?select); ?*?de?gendat?

if(!pRst-gt;BOF)?

{

pRst-gt;MoveFirst();?

}

else

{

coutlt;lt;"¿Los datos? están? vacíos!"lt;lt;endl;?

return? 0;

}

vectorlt;_bstr_tgt;?column_name;?

/*Almacenar todos los nombres de columnas de la tabla, mostrar nombres de columnas de la tabla*/

for(int?i=0;?ilt;?pRst-gt;Fields-gt;GetCount();i)

{

coutlt;lt; pRst-gt;Campos-gt;GetItem(_varian

t_t((long)i))-gt;Namelt;lt;"?";

nombre_columna.push_back(pRst-gt;Fields-gt;GetItem(_variant_t((long)i))-gt ; Nombre);

}

coutlt;lt;endl;

/*Recorre la tabla y muestra el contenido de cada fila de la tabla*/

while(!pRst-gt;adoEOF)

{

vectorlt;_bstr_tgt;::iterator?iter=column_name.begin();

for(iter;iter!=column_name.end();iter )

{?

if(pRst-gt;GetCollect(*iter).vt?!= VT_NULL)?

{?

coutlt;lt;(_bstr_t)pRst-gt;GetCollect(*iter)lt;lt;"?";?

}?

else

{

coutlt;lt;"NULL"lt;lt;endl;?

}?

}

pRst-gt; MoverSiguiente();

coutlt; endl;?

}

}

catch(_com_error?amp;e)

{

coutlt;lt;e.Description()lt;lt;endl;

coutlt;lt;e.HelpFile()lt;lt;endl;

return?0;?

}?

//Pasos 4: Cierra la fuente de datos

/*Cierra la base de datos y suelta el puntero*/

prueba

{

pRst-gt ; Close( );?//Cerrar el conjunto de registros

pMyConnect-gt;Close();//Cerrar la base de datos

pRst.Release();//Liberar el objeto del conjunto de registros pointer

pMyConnect.Release();//Libera el puntero del objeto de conexión

}

catch(_com_error?amp;e)

{

coutlt;lt;e.Description()lt;lt;endl;

coutlt;lt;e.HelpFile()lt;lt;endl;

return? 0;

}?

CoUninitialize();?//Liberar el entorno COM

return?0;

}