我有一个对话框 里面有一个date time picker控件 现在我在视类的成员函数中创建了对话框的对象 想在对话框的date time picker中输入日期 然后把这个日期保存在SQL中 结果一直出错 不管我对话框日期设置成什么查询数据库保存的日期一直就是1899-12-30 直接打开数据库看里面是“上午 12:00:00” date time picker控件的类型是CDateTimeCtrl 关联变量是m_strTime Format形式是short time 数据库日期字段是datetime 感觉m_strTime没有与我的选择日期连上 可是void CSocietyRegDlg::DoDataExchange(CDataExchange* pDX){DDX_Control(pDX, IDC_DATETIMEPICKER, m_strTime);} 不知道为什么 这个问题弄了两天了 各位高手帮帮忙啊
在对话框的BOOL CSocietyRegDlg::OnInitDialog()
{ CDialog::OnInitDialog();
CTime time;
time = CTime::GetCurrentTime();
m_strTime.SetTime(&time);
return TRUE;
}
让控件默认值是系统当前日期
在视类成员函数中
void CADODemoView::OnSocietyRegister()
{
// TODO: Add your command handler code here CSocietyRegDlg SocietyRegDlg;
if(IDOK == SocietyRegDlg.DoModal())
{
UpdateData(TRUE);
if(!m_fConnected) cout<<"连接不成功"<<endl;
CString SQl="SELECT * FROM 测点";
_bstr_t query1 =SQl;
_bstr_t source = m_strSource;
try
{
m_recordset->Open(query1,source, adOpenDynamic,adLockOptimistic,adCmdText);
m_recordset->AddNew();
m_recordset->PutCollect("监测开始时间",_variant_t(SocietyRegDlg.m_strTime));
m_recordset->Update();
m_recordset->Close();
AfxMessageBox("测点添加成功!");
}
}
catch(_com_error e)
{
MessageBox(e.Description());
}
}
在对话框的BOOL CSocietyRegDlg::OnInitDialog()
{ CDialog::OnInitDialog();
CTime time;
time = CTime::GetCurrentTime();
m_strTime.SetTime(&time);
return TRUE;
}
让控件默认值是系统当前日期
在视类成员函数中
void CADODemoView::OnSocietyRegister()
{
// TODO: Add your command handler code here CSocietyRegDlg SocietyRegDlg;
if(IDOK == SocietyRegDlg.DoModal())
{
UpdateData(TRUE);
if(!m_fConnected) cout<<"连接不成功"<<endl;
CString SQl="SELECT * FROM 测点";
_bstr_t query1 =SQl;
_bstr_t source = m_strSource;
try
{
m_recordset->Open(query1,source, adOpenDynamic,adLockOptimistic,adCmdText);
m_recordset->AddNew();
m_recordset->PutCollect("监测开始时间",_variant_t(SocietyRegDlg.m_strTime));
m_recordset->Update();
m_recordset->Close();
AfxMessageBox("测点添加成功!");
}
}
catch(_com_error e)
{
MessageBox(e.Description());
}
}
time = CTime::GetCurrentTime();
m_strTime.SetTime(&time);
UpdateData(TRUE)然后就是m_strTime的数据类型要注意了。
OnInitDialog() 函数直接m_strTime= CTime::GetCurrentTime();再在void CADODemoView::OnExpenseRegister() 中将m_strTime的值改成合适的形式传给数据库就可以了