您的位置:首页 > 数据库

MFC 连接 odbc SQLserver2000 实例~!

2008-09-15 22:23 302 查看
终于连接成功并可以操作数据库了 哎 对我我这个菜鸟来说是 很兴奋的一步~!

下面记录代码~!

#include<afxdb.h> //连接数据库需要的头文件~!

#include"stdlib.h"

......

///添加数据库连接函数
CDatabase m_db;
CRecordset m_Set;
try
{

//DSN="数据库名称" UID = “用户名” //PWD=“密码”
m_db.OpenEx(_T("DSN=ZZNDB;UID=sa;PWD=111111"),CDatabase::noOdbcDialog);
m_Set.m_pDatabase = &m_db;
}
catch(CDBException* ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
catch(CMemoryException *pEx)
{
pEx->ReportError();
AfxMessageBox(_T("memory exception"));

}
catch(CException *e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
}
CString sql = _T("SELECT passwords FROM longin where username ='zzn'");
CString psd; //存放查询结果
TRY //以前没有用过的TRY CATCH~!
{
m_Set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
m_Set.GetFieldValue(_T("passwords"),psd);
}
CATCH(CDBException,ex);
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException,pEx)
{
pEx->ReportError();
AfxMessageBox(_T("memory exception"));
}
END_CATCH

int n =lstrlen(psd);
char *Temp = new char
;

WideCharToMultiByte(CP_ACP,0,psd,-1,Temp,256,NULL,NULL); //由于产生宽字符所以需要用函数进行转换~!

// pTemp =*(char) psd.GetBuffer(psd.GetLength()); //无宽字符情况下可以用这个方法得到行对应的*char

if(strcmp((const char*)Temp,(const char*)"111111")==0)
{
AfxMessageBox(_T("密码正确~!"));
}

。。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: