1个回答
展开全部
——16.遍历数据库中所有表名:m_pRecordset =m_pConnect->OpenSchema(adSchemaTables);while(!(m_pRecordset ->adoEOF)){ _bstr_t tblname =m_pRecordset->Fields->GetItem("TABLE_NAME")->Value;//获取表格 _bstr_t tbltype =m_pRecordset->Fields->GetItem("TABLE_TYPE")->Value;//获取表格类型 if (!strcmp(tbltype ,"TABLE")) //这里可以对表格类型进行判断,判断后即可处理tblname { AfxMessageBox(tblname);//显示表名 } m_pRecordset->MoveNext();}m_pRecordset->Close(); ——12.读取表内字段&得到字段个数try { myAccess.OnInitADOConn();//连接到数据库 myAccess.m_pRecordset.CreateInstance("ADODB.Recordset"); myAccess.m_pRecordset->Open("SELECT*FROMb_CollectData",myAccess.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); } catch(_com_errore) { CString errormessage; errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage);///显示错误信息 return FALSE; return; } CString strColName; BSTR bstrColName; long ColCount,i; Field* field = NULL; HRESULT hr; Fields* fields = NULL; LPCTSTR nameField; hr= myAccess.m_pRecordset->get_Fields (&fields); //得到记录集的字段集合 if(SUCCEEDED(hr)) fields->get_Count(&ColCount); //得到字段总个数 for(i=1;i<ColCount;i++) { fields->Item[i]->get_Name(&bstrColName);//得到记录集中的字段名 strColName=bstrColName; nameField= strColName; m_ListBoxAllField.AddString(nameField);//ListBox控件 } if(SUCCEEDED(hr))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询