程序如下所示,希望实现的是点击对话框上的ok按钮后,将对话框上edit空间里输入的信息存入到数据库access中,采用ado连接数据库,但程序编译无错,运行也可以,但是查看数据库的时候发现里面并没有输入的数据,不知道为什么?
void cunxinxi::OnOK()
{
// TODO: Add extra validation here
GetDlgItemText(IDC_EDITid, str1);
GetDlgItemText(IDC_EDITname, str2);
GetDlgItemText(IDC_EDITsex, str3);
GetDlgItemText(IDC_EDITbirth, str4);
long stn;
stn=atol(str1); if(!m_set.IsOpen())
m_set.Open(); m_set.AddNew();
m_set.m_personID=stn;
m_set.m_birth=str4;
m_set.m_name=str2;
m_set.m_sex=str3;
m_set.m_sample_path="cccc";
UpdateData(FALSE);
CDialog::OnOK();
}
void cunxinxi::OnOK()
{
// TODO: Add extra validation here
GetDlgItemText(IDC_EDITid, str1);
GetDlgItemText(IDC_EDITname, str2);
GetDlgItemText(IDC_EDITsex, str3);
GetDlgItemText(IDC_EDITbirth, str4);
long stn;
stn=atol(str1); if(!m_set.IsOpen())
m_set.Open(); m_set.AddNew();
m_set.m_personID=stn;
m_set.m_birth=str4;
m_set.m_name=str2;
m_set.m_sex=str3;
m_set.m_sample_path="cccc";
UpdateData(FALSE);
CDialog::OnOK();
}
void cunchuxinxi::OnOK()
{
// TODO: Add extra validation here
if(m_set.IsOpen())
m_set.Open();
m_set.AddNew();
m_set.m_personID=m_id;
m_set.m_name=m_name;
m_set.m_sex=m_sex;
m_set.m_birth=m_age;
m_set.m_sample_path="cccc";
m_set.Update(); CDialog::OnOK();
}
在OnOK的一开始应该调用UpdateData(TRUE); 刷新数据到成员变量中啊。
最好跟踪进去看看m_id,m_name这些值到底是什么。