| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 517 人关注过本帖
标题:程序不能通过
只看楼主 加入收藏
lisypro
Rank: 4
等 级:业余侠客
威 望:3
帖 子:695
专家分:216
注 册:2005-9-25
结帖率:33.33%
收藏
 问题点数:0 回复次数:3 
程序不能通过
80y0NUgT.rar (52.01 KB) 程序不能通过


救 高手帮改一下
2006-02-04 09:04
fq17287059
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-1-31
收藏
得分:0 
CString 类型的GetBuffer是有参数的,你没有把参数加上,所以有错误
sd= strcpy(sd,fieldInfo.m_strName.GetBuffer(MAX_PATH));
2006-02-04 11:17
lisypro
Rank: 4
等 级:业余侠客
威 望:3
帖 子:695
专家分:216
注 册:2005-9-25
收藏
得分:0 

void CDAOView::OnStuffView()
{
// TODO: Add your command handler code here
//设置当前操作的数据库表名称
m_strTableName=_T("物品");
//监督DAO数据库对象的有效性,并在记录集对象打开时关闭记录集
if(!m_pDatabase->IsOpen())return;
if(!m_pRecordset)return;
if(m_pRecordset->IsOpen())m_pRecordset->Close();
//清除所有视图上的显示
CListCtrl& ctlList=GetListCtrl();
ctlList.DeleteAllItems();
ctlList.ModifyStyle(0, LVS_ALIGNLEFT | LVS_REPORT);


//取表的结构信息
CDaoFieldInfo fieldInfo;
int nFields;
LV_COLUMN lvc;


CDaoTableDef td(m_pDatabase);
try
{
td.Open(m_strTableName);
nFields=td.GetFieldCount();
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
for(int j=0;j<nFields;j++)
{char * sd;
td.GetFieldInfo(j,fieldInfo);
int nWidth=ctlList.GetStringWidth(fieldInfo.m_strName)+15;
lvc.iSubItem =j;
// lvc.pszText = _T("fieldInfo");
char sd[100];
strcpy(sd,fieldInfo.m_strName.GetBuffer(MAX_PATH)); //本句不能通过
lvc.pszText=sd;

//.GetBuffer;
lvc.cx =nWidth;
lvc.fmt = LVCFMT_LEFT;
delete sd;
ctlList.InsertColumn(j,&lvc);
}

}
catch(CDaoException * e)
{
e->ReportError();
e->Delete();
return;
}
td.Close();
//取表的数据
int nItem=0;
try
{
CString strSelect(_T("Select * From ["));
strSelect+=m_strTableName;
strSelect += _T("]");
m_pRecordset->Open(dbOpenDynaset,strSelect);
while(!m_pRecordset->IsEOF())
{
COleVariant var;
var=m_pRecordset->GetFieldValue(0);
ctlList.InsertItem(nItem, strVARIANT(var));
// ctlList.InsertItem(nItem,var);
for(int i=0;i<nFields;i++)
{
var=m_pRecordset->GetFieldValue(i);
ctlList.SetItemText(nItem,i, strVARIANT(var));
// ctlList.SetItemText(nItem,i,var);

}
nItem++;
m_pRecordset->MoveNext();
}
}
catch(CDaoException *e)
{
e->ReportError();
e->Delete();
return;
}
//显示信息
CString strRecCount;
strRecCount.Format(_T("显示了%d条记录。"),nItem);
UpdateWindow();
if(nItem>=20) MessageBox(strRecCount);
((CFrameWnd *)AfxGetMainWnd())->SetMessageText(strRecCount);

}
改了还是不行


长期承接管理系统
代做各种vb/ / vc小程序
QQ:82341763
手机:13623290828
群号 11619730
2006-02-06 15:20
fq17287059
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-1-31
收藏
得分:0 

在我的电脑上是可以通过的啊。
程序没有报错。
只是运行了以后没按预计的显示出来。
但是我调试了,SD已经可以看得见你要显示的“商品ID”“折扣”等,
问题可能出在ctlList.InsertColumn(j,&lvc);
这一句
我也是新手,互相探讨而以。

2006-02-23 20:33
快速回复:程序不能通过
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017143 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved