永发信息网

VC查询MySQL数据库获取返回结果时出问题

答案:2  悬赏:80  手机版
解决时间 2021-03-24 01:05
初学MFC和数据库,求大神多多指教。以下是“查询”按钮下的代码,数据库已连接成功,但单机查询后直接弹出应用程序错误对话框,“0x1000f31f”指令引用的"oxooooooo4"内存。该内存不能为read。不知道是代码出了问题还是什么,求帮忙~谢谢大家!
void CGraduationDlg::OnSeek()
{
// TODO: Add your control notification handler code here
nparameter = m_parameter.GetCurSel()+1;
nchannel = m_channel.GetCurSel()+1;
nport= m_port.GetCurSel()+1;
char *ch_query;
ch_query="select * from presinfo";
if(mysql_real_query(&mysql,ch_query,(UINT)strlen(ch_query))!=0)
{ AfxMessageBox("数据库中表格出错"); }
CString str;
MYSQL_RES *result;
MYSQL_ROW row;
if(!(result=mysql_use_result(&mysql)))
{ AfxMessageBox("读取数据集失败"); }
int i=0;
while(row=mysql_fetch_row(result))
{
str.Format("%s",row[0]);
m_list.InsertItem(i,str);
str.Format("%s",row[1]);m_list.SetItemText(i,1,str);
str.Format("%s",row[2]);m_list.SetItemText(i,2,str);
i++;
}
mysql_free_result(result);
}
最佳答案
这样貌似内存地址错误or溢出。可以排除法下断or注释部分代码一点点缩小出错代码范围。另一方面可以在Debug下出现出错点重试断下后看i值看看是哪一行读取出现问题。是不是和数据异常有关系比方说读取列没有数据的情况。
全部回答
driver={sql server};server=主机名;database=数据库名;uid=sa;pwd=sa; 还有一个比较简单方法确定连接字符串: 1.建立一个.udl的文件。 2.双击打开,将里面相关项进行设置,保存,关闭。 3.有记事本打开这个udl文件,里面的字符串就是连接字符串!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
已知在Rt△ABC中,∠C=90°,AB=10cm,AC=6cm
求HT250铸件退火温度
天上无鱼写的怎么样
高清数据线还需要辅助音频线吗?
随州市教育科学研究所我想知道这个在什么地方
酷狗繁星怎么开直播,酷狗音乐里有个繁星直播
24块百变魔方怎样拼成正方形
朋友被叫去参与聚众斗殴,他叫过去三四个朋友
龙沙区齐齐哈尔杨波工艺品商店地址有谁知道?
疯狂死亡之翼怎么打,关于10人巨龙死亡之翼的
新商盟网上订烟手机版我要定烟
嘎洛沟我想知道这个在什么地方
单选题YoumusthavestudiedEnglishforyears,
表达深爱一个人的诗词,在追一个人,表达会一
怎么取消卡西欧fx-350es计算器中math功能
推荐资讯
佛山哪里有精品店?
在盘锦现在养大翻斗自卸车赚钱吗?
popo手机怎么样
dirty怎么读
富源服饰广场地址有知道的么?有点事想过去
买那些大牌的东西质量是不是比较好?
古诗文默写。(共10分,每空1分)【小题1】只
亮点红量贩式KTV这个地址在什么地方,我要处
单选题Itis________thatthemanagerhas
牛奶和虾可以一起吃吗
某市书法协会组织书法爱好者在市中心广场现场
打开《宏杰文件夹加密软件》,卡巴斯基报毒说
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?