DDX_Text进行跟编辑框控件交互时只读取了数据字段的第一个字节
我用MFC进行OLE DB数据库编程,我选择了支持数据源,然后选了OLE DB,然后选了Access数据库表course表,里面有字段code是文本类型的,规定了字段大小为5;还有个数字型的字段叫credit,为单精度,小数位为1;
再加进两个编辑框控件:IDC_CODE和IDC_CREDIT
我在CXXView::DoDataExchange函数里写了:DDX_Text(pDX,IDC_CODE,(char*)m_pSet->m_code,5);
和DDX_Text(pDX,IDC_CREDIT,(char*)m_pSet->m_credit,10);
可运行时为什么只读出了两个字段里的头一个字节?
比如:
code credit
123 abc
运行时显示在编辑框里的是:IDC_CODE里显示了:1 而IDC_CREDIT里显示了:a
而不是123 abc
这是为什么
我用MFC进行OLE DB数据库编程,我选择了支持数据源,然后选了OLE DB,然后选了Access数据库表course表,里面有字段code是文本类型的,规定了字段大小为5;还有个数字型的字段叫credit,为单精度,小数位为1;
再加进两个编辑框控件:IDC_CODE和IDC_CREDIT
我在CXXView::DoDataExchange函数里写了:DDX_Text(pDX,IDC_CODE,(char*)m_pSet->m_code,5);
和DDX_Text(pDX,IDC_CREDIT,(char*)m_pSet->m_credit,10);
可运行时为什么只读出了两个字段里的头一个字节?
比如:
code credit
123 abc
运行时显示在编辑框里的是:IDC_CODE里显示了:1 而IDC_CREDIT里显示了:a
而不是123 abc
这是为什么
在CXXView::DoDataExchange函数里写了:m_pSet->m_code.GetBuffer(5);
DDX_Text(pDX,IDC_CODE,(char*)m_pSet->m_code,5);
m_pSet->m_code.ReleaseBuffer(5);下面同理
DDX_Text(pDX,IDC_CREDIT,(char*)m_pSet->m_credit,10);