我在MFC中定义了个数组,然后把数据库里的表的记录存在里面,大家看看我的语句哪有问题?
数据库里的表有username password id 3个列 这3个列的类型都是 nchar
我开始的时候选择的事一个单文档的程序,后来我发觉不好 于是我就插入了个dailog对话框在工程中 我打算把表里的内容放在 dailog 上的list control控件上 所以出现了下面的问题 忘大家看看
首先我在CMy1App里定义了个 CString a2[200];
然后我做了个判断,再循环的把数据库表里的内容存到了数组里
代码如下
m_pSet->MoveFirst(); // fails if recordset is empty int i=1; while (!m_pSet->IsEOF()) { pDC->TextOut(pText.x, pText.y, m_pSet->m_username); app->a2[3*i-3]=m_pSet->m_username ; pDC->TextOut(pText.x+1000, pText.y, m_pSet->m_password);app->a2[3*i-2]=m_pSet->m_password ;pDC->TextOut(pText.x+4000, pText.y, m_pSet->m_id);app->a2[3*i-1]=m_pSet->m_id ; i++;m_pSet->MoveNext(); pText.y -= nLineHeight; }
CMy1App *app1=(CMy1App*)AfxGetApp(); m_pSet1->MoveFirst(); // fails if recordset is empty int k=1; int nItem = m_list.GetItemCount (); while (!m_pSet1->IsEOF()) { m_list.InsertItem(nItem,_T("")); m_list.SetItemText(nItem, 1, app1->a2[3*k-3]); m_list.SetItemText(nItem, 2, app1->a2 [3*k-2]); m_list.SetItemText(nItem, 3, app1->a2 [3*k-1]); k++; m_pSet1->MoveNext(); }