关于数据库访问的一点小问题

zhaochong12 2004-09-27 05:28:05
问题是这样的:

我用Database View Without File Support建立起来了一个数据库管理框架, 我需要在它里边另外一个Dlg管理这个数据库,

我的源程序基本如下:

在我新建的Dlg BookDlg.cpp下加入了:

#include "SeverSet.h"

CSeverSet * m_pSet;

void BookDlg::OnButton1()
{
SetDlgItemText(IDC_EDIT1,m_pSet->m_column3); // 在这里到m_pSet->m_column3崩溃, m_column3是个字符串成员
}


求各位帮忙!不胜感激!!!
...全文
103 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaochong12 2004-09-29
  • 打赏
  • 举报
回复
算了...自己整理了一下, 头绪也更清楚了, 谢谢大家的帮忙!!

#include <afxdb.h>

//定义
dbSet m_dbSet;
dbSet *m_pSet;

//注册
BOOL Dlg::OnInitDialog()
{
CDialog::OnInitDialog();

//m_pSet=& GetDocument()->m_dbSet;
m_pSet=&m_dbSet;

if(m_pSet->IsOpen())
m_pSet->Close();

m_pSet->Open();

return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
//使用
void Dlg::OnButton1()
{
CString zc;
zc.Format("%s",m_pSet->m_column3);
SetDlgItemText(IDC_EDIT1,zc);
}
phineco 2004-09-29
  • 打赏
  • 举报
回复
那应该是一个数据集的指针了,
可用CRecordset打开一个数据集再传指针给它
zhaochong12 2004-09-29
  • 打赏
  • 举报
回复
.....tabby(-_-! .. 内存泄漏) Atomictry(天影) :

谢谢...可是具体我的程序应该如何注册呢? 还得烦请帮帮忙!!
内存泄漏 2004-09-28
  • 打赏
  • 举报
回复
定义归定义,指针变量还是要初始化的。。

例如,有的程序是这样初始化的:
CRecordsetEx *setPtr;
myDB.GetSet("MyNewSet", setPtr);
Atomictry 2004-09-28
  • 打赏
  • 举报
回复
在我新建的Dlg BookDlg.cpp下加入了:

#include "SeverSet.h"

CSeverSet * m_pSet; // 因为你这里的指针来历不明

void BookDlg::OnButton1()
{
SetDlgItemText(IDC_EDIT1,m_pSet->m_column3); // 所以m_pSet不是有效指针
}
zhaochong12 2004-09-27
  • 打赏
  • 举报
回复
?? 我不是在bookDlg中定义了m_pSet指针?
Atomictry 2004-09-27
  • 打赏
  • 举报
回复
是不是忘记把CSeverSet的对象指针传给m_pSet了.
比如
// 在"SeverSet.cpp"初始化函数中把CSeverSet对象指针传给BookDlg.
zhaochong12 2004-09-27
  • 打赏
  • 举报
回复
还是不行, 崩溃了...提示:
Unhandled exception in Sever.exe Access Violation

....
内存泄漏 2004-09-27
  • 打赏
  • 举报
回复
你直接用AfxMessageBox,可以把m_column3显示出来吗??

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧