无效指针

liying828772 2010-01-08 06:43:12
BOOL CFenKuangDlg::OnInitDialog()
{
CDialog::OnInitDialog();

int i;
CString m_kming;
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
CXGSApp *pApp=(CXGSApp *)AfxGetApp();
ASSERT_VALID(pApp);
m_pRecordset->Open("SELECT * FROM 粉矿综合性能",_variant_t((IDispatch*)theApp.m_pConnectSQL,true),adOpenStatic,adLockOptimistic,adCmdText); //AfxMessageBox("1");
m_pRecordset->MoveFirst();

for(i=1;i<=m_pRecordset->GetRecordCount();i++)
{
m_kming=(char *)(_bstr_t)m_pRecordset->GetCollect("矿物名称");
m_kuangming.AddString((LPCTSTR)m_kming);
m_pRecordset->Update();
m_pRecordset->MoveNext();

}
m_pRecordset->Close();

}
catch(_com_error e)///捕捉异常
{

CString str;
str.Format("读取粉矿综合性能表失败!\r\n错误信息:%s!",e.ErrorMessage());///显示错误信息
AfxMessageBox(str);
return false;
}

m_bNewUser = FALSE;

//初始化记录集对象
m_pRecordset1.CreateInstance("ADODB.Recordset");

//打开记录集
HRESULT hr = m_pRecordset1->Open("SELECT * FROM 粉矿综合性能",_variant_t((IDispatch*)theApp.m_pConnectSQL,true), adOpenDynamic, adLockPessimistic, adCmdText);

//如果打开记录集成功,则读取当前记录
if(SUCCEEDED(hr))

{
//读取当前记录
ReadData();
}

//根据当前记录的位置,重置各个控件的有效性

ResetControls();

//UpdateData(false);
return true;
}

这样读数据,弹出读取表失败,错误信息是:无效指针。
逐步运行后,几个局部变量的值是这样的,我看不懂
hInstance 0x00400000 {unused=9460301 } HINSTANCE__ *
unused 9460301 int
hPrevInstance 0x00000000 {unused=??? } HINSTANCE__ *
unused CXX0030: 错误: 无法计算表达式的值 int
lpCmdLine 0x00141f0c "" char *
0 char
nCmdShow 1 int

哪位能帮我解释一下,拜求了!




...全文
283 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
一条晚起的虫 2010-01-13
  • 打赏
  • 举报
回复
/// 呵呵。
vclongking 2010-01-13
  • 打赏
  • 举报
回复
很多人最先做数据库 容易出错就在后台与前台数据类型的不匹配
而你是直接属性名就不同 更厉害!!汗.........
havedown 2010-01-13
  • 打赏
  • 举报
回复
lllyyy2403 2010-01-13
  • 打赏
  • 举报
回复
数据库列名与代码不一致,会直接导致出错,可编译但肯定是运行不了的。
skynfly 2010-01-13
  • 打赏
  • 举报
回复
jf来了
dd_zhouqian 2010-01-13
  • 打赏
  • 举报
回复
恭喜 jf
bragi523 2010-01-13
  • 打赏
  • 举报
回复
哈哈,jf
liying828772 2010-01-13
  • 打赏
  • 举报
回复
谢谢,我的问题解决了。
我的代码是没错的,是数据库里面出现问题了。列名跟代码不一致导致的
不说害怕 2010-01-13
  • 打赏
  • 举报
回复
楼主....自己解决了...我接分
liying828772 2010-01-13
  • 打赏
  • 举报
回复
呵呵,给进来看的人也提个醒呀,代码中读取数据的名称与数据库中的列名一定要仔细对照写
sb3day 2010-01-08
  • 打赏
  • 举报
回复
断点调试一下,在哪里挂了?连接数据库了没?
vclongking 2010-01-08
  • 打赏
  • 举报
回复
关注 学习

4,012

社区成员

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

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