数据库简单问题,求解答
我建了已个数据库
typedef struct
{
TCHAR xkrNo[10];
TCHAR xkrName[20];
int xkrA;
int xkrB;
int xkrC;
}REC_ADMISSIVE,*PREC_ADMISSIVE;
//定义字段标识
#define PID_NO MAKELONG(CEVT_LPWSTR,1)
#define PID_NAME MAKELONG(CEVT_LPWSTR,2)
#define PID_A MAKELONG(CEVT_UI2,3)
#define PID_B MAKELONG(CEVT_UI2,4)
#define PID_C MAKELONG(CEVT_UI2,5)
……
添加记录后在一个列表框中显示出来,每条记录前两个字段显示是正确的,但后面三个整形字段就显示不正确
部分代码如下:
case PID_A:
{
pAdmissive->xkrA=pRecord->val.uiVal;
break;
}
case PID_B:
{
pAdmissive->xkrB=pRecord->val.uiVal;
break;
}
case PID_C:
{
pAdmissive->xkrC=pRecord->val.uiVal;
break;
}
pListCtrl->InsertItem(k,_T("Test"));
//添加A,需将数字转换为字符串
CString strA;
strA.Format(_T("%d"),pAdmissive->xkrA);
pListCtrl->SetItemText(k,2,strA);
//添加B,需将数字转换为字符串
CString strB;
strB.Format(_T("%d"),strB);
pListCtrl->SetItemText(k,3,strB);
//添加C,需将数字转换为字符串
CString strC;
strB.Format(_T("%d"),strC);
pListCtrl->SetItemText(k,4,strC);
假如我给一条记录的后三个字段都赋值200,PID_A 是正常显示 PID_B是以个很大的数字 PID_C根本就没有显示任何字符,请问是哪里有问题?(我用的数据库是CEDB)
[解决办法]
//添加A,需将数字转换为字符串
CString strA;
strA.Format(_T("%d"),pAdmissive->xkrA);
pListCtrl->SetItemText(k,2,strA);
//添加B,需将数字转换为字符串
CString strB;
strB.Format(_T("%d"),pAdmissive->xkrB);
pListCtrl->SetItemText(k,3,strB);
//添加C,需将数字转换为字符串
CString strC;
strB.Format(_T("%d"),pAdmissive->xkrB);
pListCtrl->SetItemText(k,4,strC);