📄 dbutil.cpp
字号:
#include "stdafx.h"
#include "DBUtil.h"
CDatabase m_db;
CDBUtil::CDBUtil()
{
}
BOOL CDBUtil::DBConnect(){
CString strConnect = "DSN=MCCYusuantongji;UID=sa;PWD=flyhigh";
//AfxMessageBox(strConnect);
//strConnect.Format("DSN=%s;UID=%s;PWD=%s",m_bDSN,m_bUsername,m_bPassword);
TRY{
//AfxMessageBox("2");
m_db.OpenEx(strConnect,CDatabase::noOdbcDialog);
//AfxMessageBox("Connect OK");
return TRUE;
}
CATCH(CDBException,ex)
{
AfxMessageBox("3");
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
return FALSE;
}
AND_CATCH(CMemoryException,pEx)
{
AfxMessageBox("4");
pEx->ReportError();
AfxMessageBox ("memory exception");
return FALSE;
}
AND_CATCH(CException,e)
{
AfxMessageBox("5");
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
return FALSE;
}
END_CATCH
}
BOOL CDBUtil::DBConnect(CDatabase &m_db1){
CString strConnect = "DSN=MCCYusuantongji;UID=sa;PWD=flyhigh";
//AfxMessageBox(strConnect);
//strConnect.Format("DSN=%s;UID=%s;PWD=%s",m_bDSN,m_bUsername,m_bPassword);
TRY{
//AfxMessageBox("2");
m_db1.OpenEx(strConnect,CDatabase::noOdbcDialog);
//AfxMessageBox("Connect OK");
return TRUE;
}
CATCH(CDBException,ex)
{
AfxMessageBox("3");
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
return FALSE;
}
AND_CATCH(CMemoryException,pEx)
{
AfxMessageBox("4");
pEx->ReportError();
AfxMessageBox ("memory exception");
return FALSE;
}
AND_CATCH(CException,e)
{
AfxMessageBox("5");
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
return FALSE;
}
END_CATCH
}
void CDBUtil::DBClose(){
m_db.Close();
}
//前面要加CDatabase m_db;
// db.DBConnect(*m_db);
// CRecordset rs(&m_db);
void CDBUtil::DBExcuteBrowse(CRecordset &rs,CString sql){
TRY{
rs.Open(CRecordset::dynaset,sql);
//m_db.ExecuteSQL(sql);
}CATCH(CDBException,ex)
{
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
}
/*
AND_CATCH(CMemoryException,pEx)
{
pEx->ReportError();
AfxMessageBox ("memory exception");
return FALSE;
}
*/
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
}
END_CATCH
}
BOOL CDBUtil::DBExcute(CString sql){
CString strConnect = "DSN=MCCYusuantongji;UID=sa;PWD=flyhigh";
//AfxMessageBox(strConnect);
//strConnect.Format("DSN=%s;UID=%s;PWD=%s",m_bDSN,m_bUsername,m_bPassword);
TRY{
//AfxMessageBox("2");
m_db.OpenEx(strConnect,CDatabase::noOdbcDialog);
//AfxMessageBox("Connect OK");
}
CATCH(CDBException,ex)
{
AfxMessageBox("3");
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
return FALSE;
}
AND_CATCH(CMemoryException,pEx)
{
AfxMessageBox("4");
pEx->ReportError();
AfxMessageBox ("memory exception");
return FALSE;
}
AND_CATCH(CException,e)
{
AfxMessageBox("5");
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
return FALSE;
}
END_CATCH
TRY{
CRecordset rs(&m_db);
m_db.ExecuteSQL(sql);
return TRUE;
}CATCH(CDBException,ex)
{
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
return FALSE;
}
/*
AND_CATCH(CMemoryException,pEx)
{
pEx->ReportError();
AfxMessageBox ("memory exception");
return FALSE;
}
*/
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
return FALSE;
}
END_CATCH
}
void CDBUtil::RefreshComboData(CComboBox* cb,CString sql,int index)
{
CString strConnect = "DSN=MCCYusuantongji;UID=sa;PWD=flyhigh";
//AfxMessageBox(strConnect);
//strConnect.Format("DSN=%s;UID=%s;PWD=%s",m_bDSN,m_bUsername,m_bPassword);
TRY{
//AfxMessageBox("2");
m_db.OpenEx(strConnect,CDatabase::noOdbcDialog);
//AfxMessageBox("Connect OK");
}
CATCH(CDBException,ex)
{
AfxMessageBox("3");
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException,pEx)
{
AfxMessageBox("4");
pEx->ReportError();
AfxMessageBox ("memory exception");
}
AND_CATCH(CException,e)
{
AfxMessageBox("5");
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
}
END_CATCH
cb->ResetContent();
TRY{
CRecordset rs(&m_db);
rs.Open(CRecordset::dynaset,sql);
while(!rs.IsEOF()){
CString strName;
rs.GetFieldValue(index,strName);
cb->AddString(strName);
rs.MoveNext();
}
}CATCH(CDBException,ex)
{
//MessageBox("3");
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException,pEx)
{
//MessageBox("4");
pEx->ReportError();
AfxMessageBox ("memory exception");
}
AND_CATCH(CException,e)
{
//MessageBox("5");
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
}
END_CATCH
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -