VC 조작 Sqlserver

//       
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 
//  SQLserver
void CTestSqlserverDlg::OnBnClickedBtnConn()
{
	
	/*
	  ://     
void CTestSqlserverDlg::OnBnClickedBtnDbClose()
{
	m_pConnection->Close();
	m_pConnection.Release();
}
 
-- ADO 가 SQL Server 를 연결 하 는 데이터베이스 연결 문자열 템 플 릿
인증 모드 는 "sql server 와 windows" 입 니 다.
Provider=SQLOLEDB.1;Persist Security Info=True;사용자 ID = 사용자 이름;비밀번호 = 비밀번호;Initial Catalog = 데이터베이스 이름;Data Source = SQL 서버 이름
인증 모드: "windows 만"
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog = 데이터베이스 이름;Data Source = SQL 서버 이름
*/
CString strSQL;
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->CursorLocation=adUseClient;
strSQL="Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Password=adminadmin;Initial Catalog=LocalDataAnalyticalSystem;Data Source=10.36.65.232";
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open(_bstr_t(strSQL),"","",-1);
}
}
catch ( com error e) / / 이상 포착
{
CString errormessage;
errormessage. Format ( T ("데이터베이스 연결 실패! \ r 오류 정보:% s"), e. ErrorMessage ());
AfxMessageBox (errormessage); / / 오류 정보 표시
return;
}
/*
HRESULT hr;
try
{
hr = m pConnection. CreateInstance ("ADODB. Connection"); / / 커 넥 션 대상 생 성
if(SUCCEEDED(hr)) {
hr = m pConnection - > Open ("Provider = Microsoft. Jet. OLEDB. 4.0; Data Source = test. mdb", ",", adModeUnknown); / / / 데이터베이스 연결
/ / 위 문장 에 연 결 된 문자열 의 Provider 는 ACCESS 2000 환경 을 대상 으로 하 며, ACCESS 97 에 대해 서 는 Provider = Microsoft. Jet. OLEDB. 3.51 로 변경 해 야 합 니 다.}
}
}
catch ( com error e) / / 이상 포착
{
CString errormessage;
errormessage. Format ( T ("데이터베이스 연결 실패! \ r 오류 정보:% s"), e. ErrorMessage ());
AfxMessageBox (errormessage); / / 오류 정보 표시
}
*/
}  단순 조회
/ / 간단 한 조회
void CTestSqlserverDlg::OnBnClickedBtnDb()
{
	//      
	//CListCtrl* lstData=(CListCtrl*)this->GetDlgItem(IDC_LST_DATA);
	

	Command15Ptr pCommand;
	Recordset15Ptr pRs;
	pCommand.CreateInstance(__uuidof(Command));
	pCommand->ActiveConnection=(_ConnectionPtr)m_pConnection;
	pCommand->CommandText="select * from TBL_CFG_ROLES";
	pCommand->CommandType=adCmdText;
	pCommand->Parameters->Refresh();
	pRs=pCommand->Execute(NULL,NULL,adCmdUnknown);	

	/*
	long   nCount   =   pRs-> GetFields()-> GetCount(); 
	for (long i=0;i<nCount;i++)
	{
		_variant_t varValue = pRs->GetCollect("ROLE_NAME");
		//CString strValue=_bstr_t(varValue);
		//MessageBox(strValue);
		m_lstData.InsertItem(0,_bstr_t(varValue));		
	}
	*/

	m_lstData.InsertItem(0,_bstr_t(pRs->GetCollect(0L)));
	m_lstData.InsertItem(1,_bstr_t(pRs->GetCollect(1L)));
	m_lstData.InsertItem(2,_bstr_t(pRs->GetCollect(2L)));

	
	
	while(pRs->MoveNext())
	{
		m_lstData.InsertItem(0,_bstr_t(pRs->GetCollect(0L)));
		m_lstData.InsertItem(1,_bstr_t(pRs->GetCollect(1L)));
		m_lstData.InsertItem(2,_bstr_t(pRs->GetCollect(2L)));
	}
	
	
	pRs->Close();
	pRs.Release();
	pCommand.Release();	
}

좋은 웹페이지 즐겨찾기