Login VC++ 使用ADO实例
2008-03-25 09:17
543 查看
step 1: 找到StdAfx.h,在最后一个#Include后把如下代码贴入
#import "C:/program files/common files/System/ado/msado15.dll" no_namespace /
rename("EOF","EndOfFile") /
rename("LockTypeEnum","newLockTypeEnum")/
rename("DataTypeEnum","newDataTypeEnum")/
rename("FieldAttributeEnum","newFieldAttributeEnum")/
rename("EditModeEnum","newEditModeEnum")/
rename("RecordStatusEnum","newRecordStatusEnum")/
rename("ParameterDirectionEnum","newParameterDirectionEnum")
step 2:在APP类里添加3个全局变量,1个私有变量
m_iLoginCount int (密码错误次数)
m_pADOSet _RecordsetPtr (ado记录集)
m_sCurrentUser CString (当前用户)
ADOConn _ConnectionPtr (ado连接) 私有
step 3:初始化ADO 在APP::instance
Enable3dControls(); // Call this when linking to MFC statically
// Init Login Count
m_iLoginCount = 0;
// Create ADO Connection
if( FAILED(::CoInitialize(NULL)) )
{
AfxMessageBox("ADO Init failed");
return false;
}
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open("DSN=Hotel_MIS;Provider=MSDASQL","sa","", adConnectUnspecified);
}
// Catch Exceptions
catch(_com_error &e)
{
CString err;
err.Format("%s", (char*)(e.Description()) );
AfxMessageBox(err);
}
catch(...)
{
AfxMessageBox("Unknown Error...");
}
// Init ADO RecordSet
m_pADOSet.CreateInstance(__uuidof(Recordset));
#import "C:/program files/common files/System/ado/msado15.dll" no_namespace /
rename("EOF","EndOfFile") /
rename("LockTypeEnum","newLockTypeEnum")/
rename("DataTypeEnum","newDataTypeEnum")/
rename("FieldAttributeEnum","newFieldAttributeEnum")/
rename("EditModeEnum","newEditModeEnum")/
rename("RecordStatusEnum","newRecordStatusEnum")/
rename("ParameterDirectionEnum","newParameterDirectionEnum")
step 2:在APP类里添加3个全局变量,1个私有变量
m_iLoginCount int (密码错误次数)
m_pADOSet _RecordsetPtr (ado记录集)
m_sCurrentUser CString (当前用户)
ADOConn _ConnectionPtr (ado连接) 私有
step 3:初始化ADO 在APP::instance
Enable3dControls(); // Call this when linking to MFC statically
// Init Login Count
m_iLoginCount = 0;
// Create ADO Connection
if( FAILED(::CoInitialize(NULL)) )
{
AfxMessageBox("ADO Init failed");
return false;
}
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open("DSN=Hotel_MIS;Provider=MSDASQL","sa","", adConnectUnspecified);
}
// Catch Exceptions
catch(_com_error &e)
{
CString err;
err.Format("%s", (char*)(e.Description()) );
AfxMessageBox(err);
}
catch(...)
{
AfxMessageBox("Unknown Error...");
}
// Init ADO RecordSet
m_pADOSet.CreateInstance(__uuidof(Recordset));
相关文章推荐
- C语言数组和指针的剖析
- vc++ "Error spawning 'vcspawn.exe'. The build could not be performed" 错误解决办法 (测试通过)
- Visual C++编程讲义一: Windows消息队列
- 《大规模C++程序设计》读书笔记32
- 【整理】C语言上机程序调试功能键及常见错误提示
- C++产生正态分布的随机数
- 研究递归函数的堆栈表示
- vc++ 指针
- C++ 类函数经验二则
- C#调用C++库文件
- 使用ant构建c++ 程序
- c语言关于for()的疑惑
- 用VC++开发PHP扩展注意事项
- c++队列 自己写的 大家分享
- VC++下命名管道编程的原理及实现
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- C++ Inheritance
- 加载位图VC++
- Visual C++编译器常用选项设置
- C语言中getch()的作用