1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
Citation:
#include <iostream>
#include <stdio.h>
#import "C:\Program Files\Fichiers communs\System\ado\msado15.dll" \
no_namespace rename("EOF","ADOEOF")
void main()
{
//initialise les variables
HRESULT hr;
CoInitialize(NULL);
try
{
//declare la connection
_ConnectionPtr connection;
hr = connection.CreateInstance(__uuidof(Connection));
//vérifie si réussite
if (FAILED(hr))
{
throw _com_error(hr);
}
//declare le recordset
_RecordsetPtr recordset;
hr = recordset.CreateInstance(__uuidof(Recordset));
//verifie si reussite
if (FAILED(hr))
{
throw _com_error(hr);
}
//établi la connection
connection->CursorLocation = adUseClient;
connection->Open("Provider=SQLNCLI;Server=NIVEAU2-03\\SQLEXPRESS;Database=BaseTest;Trusted_Connection=yes;", L"id",L"pwd", -1);
//ouvre le recordset: crée une table
recordset->Open("CREATE TABLE mytable (value NVARCHAR(255))",
connection.GetInterfacePtr(), adOpenForwardOnly,
adLockReadOnly, adCmdText);
//insere des éléments
recordset->Open("INSERT INTO mytable VALUES ('Hello')",
connection.GetInterfacePtr(), adOpenForwardOnly,
adLockReadOnly, adCmdText);
//insére un second
recordset->Open("INSERT INTO mytable VALUES ('Goodbye')",
connection.GetInterfacePtr(), adOpenForwardOnly,
adLockReadOnly, adCmdText);
//va chercher les éléments
recordset->Open("SELECT * from mytable",
connection.GetInterfacePtr(),
adOpenForwardOnly, adLockReadOnly,
adCmdText);
//les affichent
while(!recordset->ADOEOF)
{
_variant_t var;
var = recordset->Fields->GetItem(L"value")->GetValue();
std::cout << static_cast<char *>(_bstr_t(var.bstrVal))<< std::endl;
recordset->MoveNext();
};
//referme le recordset
recordset->Close();
//détruit la table
/*recordset->Open("DROP TABLE mytable", connection.GetInterfacePtr(),
adOpenForwardOnly, adLockReadOnly,
adCmdText);*/
}
catch(_com_error &e)
{
std::cout << "Impossible de se connecter au serveur distant";
}
catch(...)
{
std::cout << "planté";
};
} |
Partager