
#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")
如果你的系统不是安装在C盘的话就把#import 后面的C改成系统所有的盘
(2).在C***App类的
public:下加入
_RecordsetPtr m_pADOSet
bool ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)
在private:下加入_ConnectionPtr ADOConn
在class C***App : public CWinApp
{
...
}之后#endif之前加入extern C***App theApp
(3)在BOOL C***App::InitInstance()函数中Enable3dControls()// Call this when linking to MFC statically这一行下面加入
if( FAILED(::CoInitialize(NULL)) )
{
AfxMessageBox("ADO Init failed")
return false
}
try
{
ADOConn.CreateInstance(__uuidof(Connection))
ADOConn->Open("DSN=OBDC数据源Provider=MSDASQL","用户","密码", adConnectUnspecified)//这一行要自已修改
}
catch(_com_error &e)
{
CString err
err.Format("%s", (char*)(e.Description()) )
AfxMessageBox(err)
}
catch(...)
{
AfxMessageBox("Unknown Error...")
}
m_pADOSet.CreateInstance(__uuidof(Recordset))
并在文件最后加上如下代码:
bool C***App::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)
{
if ( ADOSet->State == adStateOpen) ADOSet->Close()
try
{
ADOSet->Open(strSQL, ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown)
return true
}
catch(_com_error &e)
{
CString err
err.Format("ADO Error: %s",(char*)e.Description())
AfxMessageBox(err)
return false
}
}
最后就可以在登录时执行SQL语句了,比如用户为CString strUser, 密码是CString strPwd数据库表是user_table(user_id, user_name, user_pwd)则
_variant_t strQuery, Holder
strQuery = "select * from user_table where user_name='"+strUser +"' and user_pwd='"+ strPwd +"'"
theApp.ADOExecute(theApp.m_pADOSet, strQuery)
int iCount = theApp.m_pADOSet->GetRecordCount()
if ( 0==iCount )
{
AfxMessageBox(_T("密码错误"), MB_ICONEXCLAMATION)
return
}
else
{
AfxMessageBox(_T("登录成功"), MB_ICONEXCLAMATION)
}
在新建的工程中选择有数据库支持,点那个数据源按钮然后选择要你使用的数据库,将你做好的数据库全部选中,在编程时建立基类为CRECORDSET的类,选择你在该模块中要使用的数据库,然后在其后的编程中调用显示数据库用列表控件
剩下的就看你的编程了
我用的是数据源ODBC。先打开控制面板上的管理工具。然后打开数据源。添加描述数据什么。然后去到vc那里。新建单个文档。下一步选择W数据库查看使用文件支持,单击Database Source 按钮。选择之前你设好的数据源。 就连好了数据库了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)