// dbconnect.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { //if(!AfxOleInit()) //{//初始化OLE/COM库环境 //AfxMessageBox("OLE初始化出错!"); //return FALSE; //} CoInitialize(NULL);//初始化COM _ConnectionPtr m_pConnection; //创建智能指针 m_pConnection.CreateInstance(__uuidof(Connection)); try { //连接字符串,pubs为数据库名 //_bstr_t strConnect="Provider=SQLOLEDB.1;Persist Security Info=false;Initial Catalog=pubs;Data Source=LANDSEA-E341963;User ID=sa;Password=sa"; m_pConnection->ConnectionString="Provider=SQLOLEDB.1;Initial Catalog=master;Data Source=localhost;User ID=sa;Password=sa"; m_pConnection->Open("","","",-1); //调用Open方法 } catch(_com_error e) //捕获连接异常 { _bstr_t bstrSource(e.Source()); _bstr_t bstrDescription(e.Description()); // Print COM errors. printf("Error/n"); printf("/tCode = %08lx/n", e.Error()); printf("/tCode meaning = %s/n", e.ErrorMessage()); printf("/tSource = %s/n", (LPCSTR) bstrSource); printf("/tDescription = %s/n", (LPCSTR) bstrDescription); //PrintProviderError(m_pConnection); //PrintComError(e); //printf("/t Error number: %x/t%s", e->Number, e->Description); MessageBox(NULL,"数据库连接失败","!",MB_OK); return -1; } return 0; } // stdafx.h : 标准系统包含文件的包含文件, // 或是经常使用但不常更改的 // 特定于项目的包含文件 // #pragma once #define WIN32_LEAN_AND_MEAN // 从 Windows 头中排除极少使用的资料 #include <stdio.h> #include <tchar.h> #import "C:/Program Files/Common Files/System/ADO/msado15.dll" no_namespace rename("EOF", "EndOfFile") #include <oledb.h> #include <conio.h> #include <stdio.h> // TODO: 在此处引用程序需要的其他头文件