Click here to Skip to main content
15,899,313 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Connection with SQL Server 2008 using C++ Pin
PankajB12-Feb-09 22:17
PankajB12-Feb-09 22:17 
GeneralRe: Connection with SQL Server 2008 using C++ Pin
SandipG 12-Feb-09 22:33
SandipG 12-Feb-09 22:33 
GeneralRe: Connection with SQL Server 2008 using C++ Pin
PankajB12-Feb-09 22:44
PankajB12-Feb-09 22:44 
GeneralRe: Connection with SQL Server 2008 using C++ Pin
PankajB12-Feb-09 22:56
PankajB12-Feb-09 22:56 
GeneralRe: Connection with SQL Server 2008 using C++ Pin
SandipG 12-Feb-09 23:08
SandipG 12-Feb-09 23:08 
GeneralRe: Connection with SQL Server 2008 using C++ Pin
Stuart Dootson12-Feb-09 22:52
professionalStuart Dootson12-Feb-09 22:52 
GeneralRe: Connection with SQL Server 2008 using C++ Pin
PankajB12-Feb-09 23:14
PankajB12-Feb-09 23:14 
GeneralRe: Connection with SQL Server 2008 using C++ Pin
PankajB12-Feb-09 23:23
PankajB12-Feb-09 23:23 
Let me share full code with you.

ado2.h

#if !defined(AFX_ADO2_H_INCLUDED_)
#define AFX_ADO2_H_INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <afx.h>
#include <afxdisp.h>
#include <math.h>

#import "C:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")

CString IntToStr(int nVal);
CString LongToStr(long lVal);
CString ULongToStr(unsigned long ulVal);
CString DblToStr(double dblVal, int ndigits = 20);
CString DblToStr(float fltVal);

class CDataAccessManager
{
public:
	CDataAccessManager()
	{
		::CoInitialize(NULL);
			
		m_pConnection = NULL;
		m_strConnection = _T("");
		m_pConnection.CreateInstance(__uuidof(Connection));
	}
	
	virtual ~CDataAccessManager()
	{
		CloseDB();
		m_pConnection.Release();
		m_pConnection = NULL;
		m_strConnection = _T("");
		::CoUninitialize();
	}
	
	BOOL OpenDB(LPCTSTR lpstrConnection = _T(""), LPCTSTR lpstrUserID = _T(""), LPCTSTR lpstrPassword = _T(""));
	_ConnectionPtr GetActiveConnection() 
		{return m_pConnection;};
	BOOL Execute(LPCTSTR lpstrExec);
	BOOL IsOpenDB();
	void CloseDB();
	void SetConnectionString(LPCTSTR lpstrConnection)
		{m_strConnection = lpstrConnection;};
	CString GetConnectionString()
		{return m_strConnection;};

protected:
	void dump_com_error(_com_error &e);

public:
	_ConnectionPtr m_pConnection;
	
protected:
	CString m_strConnection;
};

#endif //AFX_ADO2_H_INCLUDED_



ado2.cpp

#include "ado2.h"

CString IntToStr(int nVal)
{
	CString strRet;
	char buff[10];
	
	itoa(nVal, buff, 10);
	strRet = buff;
	return strRet;
}

CString LongToStr(long lVal)
{
	CString strRet;
	char buff[20];
	
	ltoa(lVal, buff, 10);
	strRet = buff;
	return strRet;
}

CString ULongToStr(unsigned long ulVal)
{
	CString strRet;
	char buff[20];
	
	ultoa(ulVal, buff, 10);
	strRet = buff;
	return strRet;

}

CString DblToStr(double dblVal, int ndigits)
{
	CString strRet;
	char buff[50];

   _gcvt(dblVal, ndigits, buff);
	strRet = buff;
	return strRet;
}

CString DblToStr(float fltVal)
{
	CString strRet;
	char buff[50];
	
   _gcvt(fltVal, 10, buff);
	strRet = buff;
	return strRet;
}

BOOL CDataAccessManager::OpenDB(LPCTSTR lpstrConnection, LPCTSTR lpstrUserID, LPCTSTR lpstrPassword)
{
	HRESULT hr = S_OK;

	if(IsOpenDB())
		CloseDB();

	if(lstrcmp(lpstrConnection, _T("")) != 0)
		m_strConnection = lpstrConnection;

	ASSERT(!m_strConnection.IsEmpty());

	try
	{
		//hr = m_pConnection->Open(_bstr_t(m_strConnection), _bstr_t(lpstrUserID), _bstr_t(lpstrPassword), NULL);
		//hr = m_pConnection->Open(L"Driver={SQL Server};Server=ASHISH-DB\ULXDBSERVER;Database=eDiscoveryDEV;", L"UID=edm;", L"PWD=Password;", adOpenUnspecified);
		hr = m_pConnection->Open(L"DRIVER={sql server};SERVER=ASHISH-DB\ULXDBSERVER;Database=eDiscoveryDEV;" L"UID=edm; PWD=Password;", L"", L"", adOpenUnspecified); 
		return hr == S_OK;
	}
	catch(_com_error &e)
	{
		dump_com_error(e);
		return FALSE;
	}
}

BOOL CDataAccessManager::Execute(LPCTSTR lpstrExec)
{
	ASSERT(m_pConnection != NULL);
	ASSERT(lstrcmp(lpstrExec, _T("")) != 0);
	_variant_t vRecords;
	
	try
	{
		m_pConnection->CursorLocation = adUseClient;
		m_pConnection->Execute(_bstr_t(lpstrExec), &vRecords, adExecuteNoRecords);

		return TRUE;
	}
	catch(_com_error &e)
	{
		dump_com_error(e);
		return FALSE;	
	}
}

BOOL CDataAccessManager::IsOpenDB()
{
	if(m_pConnection )
		return m_pConnection->GetState() != adStateClosed;
	return FALSE;
}

void CDataAccessManager::CloseDB()
{
	if(IsOpenDB())
		m_pConnection->Close();
}

void CDataAccessManager::dump_com_error(_com_error &e)
{
}



DAL.cpp
// CDataAccessManager.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "ado2.h"

int _tmain(int argc, _TCHAR* argv[])
{
	CDataAccessManager objDAL;
	
	bool bSuccess = objDAL.OpenDB(_T("DRIVER={sql server};SERVER=ASHISH-DB\ULXDBSERVER;Database=LexCoreDB"), _T("edm"), _T("Password"));

	return 0;
}

GeneralRe: Connection with SQL Server 2008 using C++ Pin
PankajB16-Feb-09 1:13
PankajB16-Feb-09 1:13 
Questionenabling keyboard shortcuts in my application Pin
VCProgrammer12-Feb-09 20:49
VCProgrammer12-Feb-09 20:49 
AnswerRe: enabling keyboard shortcuts in my application Pin
Arman S.12-Feb-09 21:09
Arman S.12-Feb-09 21:09 
AnswerRe: enabling keyboard shortcuts in my application Pin
Madhu Nair12-Feb-09 21:27
Madhu Nair12-Feb-09 21:27 
AnswerRe: enabling keyboard shortcuts in my application Pin
Rajesh R Subramanian13-Feb-09 5:05
professionalRajesh R Subramanian13-Feb-09 5:05 
QuestionWIN32 Com port ReadFile() Gets delay Pin
yctsai12-Feb-09 20:31
yctsai12-Feb-09 20:31 
AnswerRe: WIN32 Com port ReadFile() Gets delay Pin
Cedric Moonen12-Feb-09 20:38
Cedric Moonen12-Feb-09 20:38 
GeneralRe: WIN32 Com port ReadFile() Gets delay Pin
yctsai12-Feb-09 20:49
yctsai12-Feb-09 20:49 
GeneralRe: WIN32 Com port ReadFile() Gets delay Pin
Cedric Moonen12-Feb-09 21:05
Cedric Moonen12-Feb-09 21:05 
GeneralRe: WIN32 Com port ReadFile() Gets delay Pin
yctsai12-Feb-09 23:24
yctsai12-Feb-09 23:24 
GeneralRe: WIN32 Com port ReadFile() Gets delay Pin
Stuart Dootson12-Feb-09 21:56
professionalStuart Dootson12-Feb-09 21:56 
QuestionRe: WIN32 Com port ReadFile() Gets delay Pin
Roger Stoltz12-Feb-09 23:05
Roger Stoltz12-Feb-09 23:05 
AnswerRe: WIN32 Com port ReadFile() Gets delay Pin
David Crow13-Feb-09 2:49
David Crow13-Feb-09 2:49 
Questionsqrt() pow() fabs() do not work Pin
Member 337533412-Feb-09 19:23
Member 337533412-Feb-09 19:23 
AnswerRe: sqrt() pow() fabs() do not work Pin
Cedric Moonen12-Feb-09 20:18
Cedric Moonen12-Feb-09 20:18 
GeneralRe: sqrt() pow() fabs() do not work Pin
Nishad S12-Feb-09 21:33
Nishad S12-Feb-09 21:33 
GeneralRe: sqrt() pow() fabs() do not work Pin
Cedric Moonen12-Feb-09 21:37
Cedric Moonen12-Feb-09 21:37 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.