Access数据库设计问题,急……
#import"C:\Program Files\Common Files\System\ado\msado15.dll"no_namespace \
rename("EOF","ado_EOF")rename("BOF","ado_BOF")
下面是使用原码:
void CVc_accessDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CString strText;
CFileDialog file(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,\
"Access(*.mdb)|*.mdb| |",AfxGetMainWnd());
if(file.DoModal()==IDOK)
{
m_List.ResetContent();
strText=file.GetPathName();
m_Edit.SetWindowText(strText);
CString str_name,strTable;
str_name.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;\
Persist Security Info=False",strText);
try
{
m_pConnection.CreateInstance("ADODB.Connection");
_bstr_t strConnect=str_name;
m_pConnection->Open(strConnect,"","",adModeUnknown);
}//try
catch(_com_error e)
{
AfxMessageBox(e.Description());
}//catch
m_pRecordset=m_pConnection->OpenSchema(adSchemaTables);
while(!m_pRecordset->ado_EOF)
{
strTable=(char*)(_bstr_t)\
m_pRecordset->GetFields()->GetItem("TABLE_TYPE")->Value;
if(strTable=="TABLE")
{
m_List.AddString((char*)(_bstr_t)\
m_pRecordset->GetFields()->GetItem("TABLE_NAME")->Value);
}//if
m_pRecordset->MoveNext();
}//while
}//if
}
void CVc_accessDlg::OnDblclkList()
{
// TODO: Add your control notification handler code here
m_Grid.DeleteAllItems();
CString sql,str;
m_List.GetText(m_List.GetCurSel(),str);
sql.Format("select* from %s",str);
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),\
adOpenDynamic,adLockOptimistic,adCmdText);
Fields* fields=NULL;
long countl,sizel;
BSTR bstr;
enum DataTypeEnum stype;
m_pRecordset->get_Fields(&fields);
countl=fields->Count;
for(long i=countl-1;i>=0;i--)
{
fields->Item[i]->get_Name(&bstr);
fields->Item[i]->get_Type(&stype);
fields->Item[i]->get_DefinedSize(&sizel);
m_Grid.InsertItem(0,0);
m_Grid.SetItemText(0,0,(CString)bstr);
m_Grid.SetItemText(0,1,(char*)(_bstr_t)(long)stype);
m_Grid.SetItemText(0,2,(char*)(_bstr_t)sizel);
}//for
fields->Release();
}
相关推荐
解决mysql创建数据库后出现:Access denied for user 'root'@'%' to database 'xxx'的问题
主要给大家介绍了如何解决mysql在创建数据库后出现:Access denied for user 'root'@'%' to database 'xxx'的错误提示,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
VB连接ACCESS数据库
解决mysql创建数据库后出现:Access denied for user ‘root’@’%’ to database ‘xxx’的问题
前言 最近在工作中遇到一个问题,在创建数据库后连接数据库的时候居然报错了,错误代码是Access denied for user ‘root’@’%’ to database ‘xxx’,通过查找相关的资料终于解决了这个问题,所以想着总结下来分享给有需要的朋友们参考学习,下面来一起看看吧。 解决过程 1、创建数据库 create database mytest; 2.连接数据库,报以下错: Access denied for user 'root'@'%' to database 'mytest' 原因:创建完数据库后,需要进行授权,在本地访问一般不会存在这个问题。 3.授权数据库操作
Microsoft Access Database Engine 2007.zip
可解决sqlserver 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序
Office 2016 Access DataBase Engine 64位
未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。需要下载此资源。 个人是在研究别人代码的时候,遇到这个问题,找的资源。


数据库
