Access数据库设计问题,急……

chc0613042124 chc0613042124 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我VC++6.0中使用了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'的错误提示,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

weixin_38654220

VB连接ACCESS数据库

qiutudou

解决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.授权数据库操作

weixin_38680506

Microsoft Access Database Engine 2007.zip

可解决sqlserver 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

进阶的小白测试

Office 2016 Access DataBase Engine 64位

未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。需要下载此资源。 个人是在研究别人代码的时候,遇到这个问题,找的资源。

hou3125378
评论 7
收藏 已收藏
分享
返回顶部
chc0613042124
数据库 4,017 成员 39,805 内容