VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 741|回复: 5

数据库连接问题?

[复制链接]

2

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-11 10:20:01 | 显示全部楼层 |阅读模式
请看原代码:
BOOL CMyApp::InitInstance()
{
   ...
AfxOleInit();
        pConn.CreateInstance(__uuidof(Connection));
        try
        {
                pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ki.mdb","","",adModeUnknown);
        }
        catch(_com_error e)
        {
                AfxMessageBox("数据库连接失败,确认数据库POP.mdb是否在当前路径下!");
                return false;
        }
        return FALSE;
}
extern CMyApp theApp;
void Show()
{
        CString str;
        str="select * from Name";       
        _RecordsetPtr m_pRs;
       
    try
        {               
            m_pRs=theApp.pConn->Execute((_bstr_t)str,NULL,adCmdText);
        }
        catch(_com_error e)
        {
                AfxMessageBox(e.ErrorMessage());
        }
        catch(...)
        {
                AfxMessageBox("打开数据集错误1!");
         }
       
}
运行后:显示“无效指针”的错误
回复

使用道具 举报

2

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-1-14 20:18:02 | 显示全部楼层
经我分析是theApp.pConn没有找到,可是pConn已定义.
回复

使用道具 举报

2

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-1-16 08:54:02 | 显示全部楼层
我已明白,是代码放错位置了,应把AfxOleInit();及以下代码放在CMyDlg dlg;上面
回复

使用道具 举报

0

主题

32

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-1-16 18:27:01 | 显示全部楼层
还是放在 dloag 的初始化中吧, 即 BOOL CYourDlg::OnInitDialog() 中
回复

使用道具 举报

0

主题

55

帖子

32.00

积分

新手上路

Rank: 1

积分
32.00
发表于 2020-1-28 18:45:01 | 显示全部楼层
放在BOOL CMyApp::InitInstance()内面不合适吧。
回复

使用道具 举报

0

主题

13

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-7-8 02:15:01 | 显示全部楼层
用Coinintialize();
你的pConn没有创建成功把
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表