⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_40526.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:40526 发表者:markel 发表日期:2003-05-19 15:32:21
<br>主题:关于数据显示的问题???急!!!在线等待!
<br>内容:BOOL CStudentDialog::OnInitDialog() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CDialog::OnInitDialog();<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add extra initialization here<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsertColumn(0,"年级");<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsertColumn(1,"专业");<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsertColumn(2,"班级");<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsertColumn(3,"学号");<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsertColumn(4,"姓名");<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsertColumn(5,"性别");<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsertColumn(6,"年龄");<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect rect;<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.GetWindowRect(rect);<BR>&nbsp;&nbsp;&nbsp;&nbsp;int width=rect.right-rect.left;<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetColumnWidth(0,width/7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetColumnWidth(1,width/7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetColumnWidth(2,width/7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetColumnWidth(3,width/7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetColumnWidth(4,width/7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetColumnWidth(5,width/7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetColumnWidth(6,width/7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);<BR>&nbsp;&nbsp;if(!m_database.IsOpen())<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_database.Open("markel");<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.DeleteAllItems();<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;CStudentSet m_student;<BR>&nbsp;&nbsp;m_student.m_pDatabase=&amp;m_database;<BR> m_student.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from student");<BR> CDBVariant var;<BR> if(m_student.GetRecordCount()!=0)m_student.MoveFirst();<BR>&nbsp;&nbsp;char buf[20];<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;int i=0;<BR>&nbsp;&nbsp;while(!m_student.IsEOF())<BR>&nbsp;&nbsp;{&nbsp;&nbsp; int p=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_student.GetFieldValue(p,var);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(buf,"%d",var.m_chVal);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsertItem(i,buf);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_student.GetFieldValue(1,var);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(buf,"%d",var.m_chVal);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetItemText(i,1,buf);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_student.GetFieldValue(2,var);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(buf,"%d",var.m_chVal);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetItemText(i,2,buf);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_student.GetFieldValue(3,var);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(buf,"%d",var.m_iVal);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetItemText(i,3,buf);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_student.GetFieldValue(4,var);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(buf,"%d",var.m_chVal);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetItemText(i,4,buf);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_student.GetFieldValue(5,var);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(buf,"%d",var.m_chVal);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetItemText(i,5,buf);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_student.GetFieldValue(6,var);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(buf,"%d",var.m_chVal);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetItemText(i,6,buf);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_student.MoveNext();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;&nbsp;&nbsp;// return TRUE unless you set the focus to a control<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// EXCEPTION: OCX Property Pages should return FALSE<BR>运行时,没有报错,就是列表控件中没有数据显示,不知是什么原因,请高手指教,,一定给分!!!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:金枪鱼 回复日期:2003-05-19 22:12:28
<br>内容:道理上似乎是对的,没有太大的错误。<BR>不过我不太习惯你的写法,因为数据库和记录集对象我都用指针。<BR><BR>另外,GetFieldValue()函数的第一个序号参数是short,你定义一个int p在哪里干什么!<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;而GetRecordCount()是得不到记录数量的,要得到记录数量必须遍历数据库。<BR><BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsertColumn(0,"年级",LVCFMT_CENTER,80,-1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsertColumn(1,"专业",LVCFMT_CENTER,80,-1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;.............<BR>&nbsp;&nbsp;&nbsp;&nbsp;//设置整行选取风格和网格<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);<BR>&nbsp;&nbsp;&nbsp;&nbsp;//清理列表视<BR>m_list.DeleteAllItems();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;/*<BR>&nbsp;&nbsp;&nbsp;&nbsp; CDatabase *pDb=new CDatabase();<BR>&nbsp;&nbsp;&nbsp;&nbsp; ASSERT(pDb!=NULL);<BR>&nbsp;&nbsp;&nbsp;&nbsp;//你的数据库对象是如何初始化的<BR>&nbsp;&nbsp;&nbsp;&nbsp;*/<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果数据库没有打开就尝试打开<BR>&nbsp;&nbsp;&nbsp;&nbsp; if(!pDb-&gt;IsOpen())<BR>&nbsp;&nbsp;&nbsp;&nbsp; pDb-&gt;OpenEx(......);<BR>&nbsp;&nbsp;&nbsp;&nbsp; if(pDb-&gt;IsOpen())<BR>&nbsp;&nbsp;&nbsp;&nbsp; {//数据库打开成功<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CStudentSet *pRs=new CStudentSet(pDb);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASSERT(pRs!=NULL);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //准备SQL语句<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CString str_SQL=_T("select * from student");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //动态只读打开记录集<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pRs-&gt;Open(CRecordset::dynaset,str_SQL,CRecordset::readOnly);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!pRs-&gt;IsOpen())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{//记录集打开失败<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox("记录集打开失败!","提示",MB_OK|ICONSTOP);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(pRs-&gt;IsOpen())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{//记录集打开成功,自动将首条记录作为当前记录<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CString zsStr="";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int i=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(!pRs-&gt;IsEOF())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRs-&gt;GetFiledValue((short)0,zsStr);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list.InsetItem(i,zsStr);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRs-&gt;GetFieldValue((short)1,zsStr);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetItemText(i,1,zsStr);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRs-&gt;GetFieldValue((short)2,zsStr);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_list.SetItemText(i,2,zsStr);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.........<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRs-&gt;MoveNext();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pRs-&gt;Close();//关闭记录集<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delete pRs;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pRs=NULL;<BR>&nbsp;&nbsp;&nbsp;&nbsp; pDb-&gt;Close();//关闭数据库<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; else<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp; //数据库连接失败<BR>&nbsp;&nbsp;&nbsp;&nbsp; .....<BR>}<BR>&nbsp;&nbsp;&nbsp;&nbsp; delete pDb;<BR>&nbsp;&nbsp;&nbsp;&nbsp; pDb=NULL;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:liha 回复日期:2003-05-19 22:34:54
<br>内容:在以前我也出现这样的情况。<BR>解决:<BR>1、通过调试看看数据集是否打开?<BR>2、是在程序中确定用了InsertItem函数。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -