资源描述:
《MFC ADO数据库操作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MFCado数据库操作实例控件:两个文本框,并设CString变量:m_name;m_year一个listcontrol控件并设变量:m_list一个按钮;Stadfx.h末尾添加代码:#include//IncludesupportforVC++Extensions#import"C:ProgramFilesCommonFilesSystemadomsado15.dll"o_namespacerename("EOF","adoEOF")----Dlgcpp.CPP中添加代码:_Conne
2、ctionPtrconn=NULL;//全局的参数设置_RecordsetPtrrecord;_CommandPtrcomm;COleVariantvtOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);CStringSQLcon=_T("Provider=SQLOLEDB.1;Password=qaz741;PersistSecurityInfo=True;UserID=sa;InitialCatalog=TsienSun;DataSource=192.168.1.20");BOOL
3、ConnStatic()//在BOOLCSQL_useDlg::OnInitDialog()末尾调用returnConnStatic();{if(!AfxOleInit()){AfxMessageBox(_T("数据库初始化失败"));returnFALSE;}if(FAILED(record.CreateInstance("ADODB.Recordset"))){AfxMessageBox(_T("recordset创建失败"));returnFALSE;}if(FAILED(conn.CreateInstance(_T(
4、"ADODB.Connection")))){AfxMessageBox(_T("数据库连接创建失败"));returnFALSE;}if(FAILED(conn->Open(_bstr_t(SQLcon),"","",NULL))){AfxMessageBox(_T("数据库连接打开失败"));returnFALSE;}returnTRUE;}voidCSQL_useDlg::OnBnClickedOk(){//单击按钮后执行的内容CStringSQL;UpdateData(TRUE);SQL.Format(_T("ins
5、ertintouser_Infovalues('%s','%s','des')"),m_name,m_year);UpdateData(FALSE);conn->Execute(_bstr_t(SQL),&vtOptional,-1);//此上功能是把两文本框内的内容作为需要的数据上传到SQL服务器的user_Info表中。SQL=_T("select*fromuser_Info");if(FAILED(record->Open(_variant_t(SQL),_variant_t(SQLcon),adOpenStatic,
6、adLockOptimistic,adCmdText))){AfxMessageBox(_T("打开数据表失败"));record.Release();return;}m_list.InsertColumn(0,_T("UserID"),LVCFMT_LEFT,100,-1);m_list.InsertColumn(1,_T("UserPWD"),LVCFMT_LEFT,100,-1);m_list.InsertColumn(2,_T("UserDES"),LVCFMT_LEFT,100,-1);_variant_tnam,
7、year,des;CStringNAM,YEAR,DES;intnrow;while(!record->adoEOF){nrow=m_list.GetItemCount();nam=record->GetCollect(_T("user_ID"));year=record->GetCollect(_T("user_PWD"));des=record->GetCollect(_T("user_DES"));NAM=(TCHAR*)_bstr_t(nam);YEAR=(TCHAR*)_bstr_t(year);DES=(TCHA
8、R*)_bstr_t(des);m_list.InsertItem(nrow,NAM);m_list.SetItemText(nrow,1,YEAR);m_list.SetItemText(nrow,2,DES);record->MoveNext();}record->Close();//