void CDlgStudentBasicInfo::OnCmdStuBasicInfoQuery()
{
CreateSQL();/*生成SQL语句的函数*/
MessageBox(strSQL); /在这儿完全正常,假如SQL语句为select * from VStuBasicInfo
CString temp;
m_stuQueryList.DeleteAllItems();
CVStuBasicInfo rs(&m_db);
rs.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if(rs.GetRecordCount()==0)
{
MessageBox("对不起,没有你要找的记录!");
return;
}
else
{
rs.MoveFirst();
}
int i=0;
while(!rs.IsEOF()) //在列表框中显示查询结果
{
m_stuQueryList.InsertItem(i,"");
temp.Format("%s",rs.m_Stu_NO);
m_stuQueryList.SetItemText(i,0,temp);
m_stuQueryList.SetItemText(i,1,rs.m_Name);
m_stuQueryList.SetItemText(i,2,rs.m_BirthDay.Format("%Y-%m-%d"));
m_stuQueryList.SetItemText(i,3,rs.m_Sex);
m_stuQueryList.SetItemText(i,4,rs.m_Stu_Type_Name);
m_stuQueryList.SetItemText(i,5,rs.m_Folk_Name);
m_stuQueryList.SetItemText(i,6,rs.m_Polity_Visage_Name);
m_stuQueryList.SetItemText(i,7,rs.m_Specility_Name);
m_stuQueryList.SetItemText(i,8,rs.m_Class_Name);
m_stuQueryList.SetItemText(i,9,rs.m_Country_Exam_NO);
m_stuQueryList.SetItemText(i,10,rs.m_Persin_NO);
m_stuQueryList.SetItemText(i,11,rs.m_Native_Place);
m_stuQueryList.SetItemText(i,12,rs.m_Married);
m_stuQueryList.SetItemText(i,13,rs.m_Dormitory);
m_stuQueryList.SetItemText(i,14,rs.m_Dormitor_Tel);
m_stuQueryList.SetItemText(i,15,rs.m_Dwelling_Place);
m_stuQueryList.SetItemText(i,16,rs.m_Home_Tel);
m_stuQueryList.SetItemText(i,17,rs.m_Addition);
rs.MoveNext();
i++;
}
}
这段程序编译没有任何的问题,但是运行时出现“内存不足”的问题。不知道为什么?请大人们执教。
{
CreateSQL();/*生成SQL语句的函数*/
MessageBox(strSQL); /在这儿完全正常,假如SQL语句为select * from VStuBasicInfo
CString temp;
m_stuQueryList.DeleteAllItems();
CVStuBasicInfo rs(&m_db);
rs.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if(rs.GetRecordCount()==0)
{
MessageBox("对不起,没有你要找的记录!");
return;
}
else
{
rs.MoveFirst();
}
int i=0;
while(!rs.IsEOF()) //在列表框中显示查询结果
{
m_stuQueryList.InsertItem(i,"");
temp.Format("%s",rs.m_Stu_NO);
m_stuQueryList.SetItemText(i,0,temp);
m_stuQueryList.SetItemText(i,1,rs.m_Name);
m_stuQueryList.SetItemText(i,2,rs.m_BirthDay.Format("%Y-%m-%d"));
m_stuQueryList.SetItemText(i,3,rs.m_Sex);
m_stuQueryList.SetItemText(i,4,rs.m_Stu_Type_Name);
m_stuQueryList.SetItemText(i,5,rs.m_Folk_Name);
m_stuQueryList.SetItemText(i,6,rs.m_Polity_Visage_Name);
m_stuQueryList.SetItemText(i,7,rs.m_Specility_Name);
m_stuQueryList.SetItemText(i,8,rs.m_Class_Name);
m_stuQueryList.SetItemText(i,9,rs.m_Country_Exam_NO);
m_stuQueryList.SetItemText(i,10,rs.m_Persin_NO);
m_stuQueryList.SetItemText(i,11,rs.m_Native_Place);
m_stuQueryList.SetItemText(i,12,rs.m_Married);
m_stuQueryList.SetItemText(i,13,rs.m_Dormitory);
m_stuQueryList.SetItemText(i,14,rs.m_Dormitor_Tel);
m_stuQueryList.SetItemText(i,15,rs.m_Dwelling_Place);
m_stuQueryList.SetItemText(i,16,rs.m_Home_Tel);
m_stuQueryList.SetItemText(i,17,rs.m_Addition);
rs.MoveNext();
i++;
}
}
这段程序编译没有任何的问题,但是运行时出现“内存不足”的问题。不知道为什么?请大人们执教。
解决方案 »
- 异常处理
- 如何获取CTreeView中节点?
- CHtmlEditView 滚动条的问题。
- 两个窗口拖动问题
- 救急!结构体内容COPY的问题。在线给分!
- 有没有功能与PostThreadMessage基本相似,只不过它是在线程处理完其发送的消息后才返回的函数?
- 简单的Serialize问题。在线等!
- c语言高手请赐教:turboc2.0环境下怎样分配大内存,例如256*256个字节
- 这样的警告是什么意思?
- 请问‘硬盘保护卡’的原理是什么?????????
- 求助,VC封装ASP代码时,如何引用ado
- 我想让m_list充满整个右部的Client区(左部放了一个CTreeCtrl),但总得不到正确的大小,总是比实际的小。
m_stuQueryList.SetReraw(FALSE);
...
m_stuQueryList.SetReraw(TRUE);
后面应该rs.Close()
这段代码没什么其他问题啊
rs->Open("select * from VStuBasicInfo",conn.GetInterfacePt(),adOpenDynamic,adLockOptimistic,adCmdText);
你看你的database对象m_db有没有问题,
在Recordset,DaoRecordset和ADO的_RecordsetPtr中
数据源的连接都是异步的,
不过肯定不是内存不足的问题,
在win32模式中没有内存不足,
只会速度让你慢的像死机,
我试过无论我分配多大内存系统都能分配,
不过后来就是硬盘灯在不停的闪了