VC中ADO

來源:互聯網
上載者:User

1,StdAfx.h中加入
#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
2,
BOOL C***App::InitInstance()
{
 AfxEnableControlContainer();

 if(!AfxOleInit()) 
 {
  AfxMessageBox("OLE初始化Error");
  return FALSE;
 }

 if (FAILED(pConn.CreateInstance("ADODB.Connection")))
 {
  AfxMessageBox("Create Instance failed!");
  return FALSE;
 }

 CString strSRC = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\\Test.mdb;Jet OLEDB:Database Password=80";

 _bstr_t bstrSRC(strSRC);
 if (FAILED(pConn->Open(bstrSRC,"","",-1)))
 {
  AfxMessageBox("Can not open Database!");
  pConn.Release();
  return FALSE;
 }
......
}

void C***Dlg::AccessSql(CString szSql)
{
 _bstr_t bstrSql( szSql );
 pCommand.CreateInstance(__uuidof(Command));
 pCommand->ActiveConnection = pConn;
 pCommand->CommandText = bstrSql;
 pCommand->CommandType = adCmdText;
 pCommand->Parameters->Refresh();
 pRs = pCommand->Execute(NULL,NULL,adCmdUnknown);
}

CString C***Dlg::GetStrValue(CString szSql, CString szFeild)
{
 _bstr_t bstrFeild( szFeild );
 AccessSql( szSql );
 if( pRs->adoEOF )
  return "";
 _variant_t varValue = pRs->GetCollect( bstrFeild );
 CString Value = (char*)_bstr_t(varValue);
 return Value;
}

double C***Dlg::GetDoubleValue(CString szSql, CString szFeild)
{
 _bstr_t bstrFeild( szFeild );
 AccessSql( szSql );
 if( pRs->adoEOF )
  return -1;
 _variant_t varValue = pRs->GetCollect( bstrFeild );
 double Value = (double)varValue;
 return Value;
}

long C***Dlg::GetIntValue(CString szSql, CString szFeild)
{
 _bstr_t bstrFeild( szFeild );
 AccessSql( szSql );
 if( pRs->adoEOF )
  return -1;
 _variant_t varValue = pRs->GetCollect( bstrFeild );
 long Value = (long)varValue;
 return Value;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.