vc++6.0 MFC SQL2005,我想通过按不同的按钮向数据库中插入不同数值

void CAttendance::OnCapture(BOOL ActionResult, const VARIANT FAR& ATemplate)
{
if (Identify == 0)//比对指纹(1:N)
{

    if (Identifys(m_zkeng.GetTemplateAsString()))
    {
        InsertCheck(m_zkeng.GetTemplateAsString());
        MessageBox("考勤成功!");
    }
    else
        MessageBox("考勤失败,请再次按压指纹!");
}
if (IdentifyType != 0)
    IdentifyType = 0;

}

void CAttendance::InsertCheck(CString Templage)//向数据库插入数据
{
CTime time = CTime::GetCurrentTime();
CString SQL = "Select top 2 * From Check";
CADODataSet dataset;
dataset.SetConnection(::GetConnection());
dataset.Open(SQL);
dataset.AddNew();
dataset.SetFieldValue("Name",(_variant_t)m_PersonName);
dataset.SetFieldValue("checkdate",(_bstr_t)time.Format("%Y-%m-%d"));

if(OnStartClass())
    dataset.SetFieldValue("checktype",(_bstr_t)"正点上课");
else
    if(OnLater())
        dataset.SetFieldValue("checktype",(_bstr_t)"迟到");
    else
        if(OnFinshClass())
            dataset.SetFieldValue("checktype",(_bstr_t)"正点下课");



dataset.SetFieldValue("checktime",(_bstr_t)time.Format("%H:%M:%S"));
dataset.Save();

}

void CAttendance::OnLater() //BUTTON迟到
{
if (m_zkeng.GetIsRegister())
m_zkeng.CancelEnroll();
Identify = 0;

}

void CAttendance::OnFinshClass() //BUTTON下课
{
if (m_zkeng.GetIsRegister())
m_zkeng.CancelEnroll();
Identify = 0;

}

void CAttendance::OnStartClass() //BUTTON上课
{
if (m_zkeng.GetIsRegister())
m_zkeng.CancelEnroll();
Identify = 0;

    这是我自己写的可惜不对

4个回答

InsertCheck加上一个参数,不同的按钮调用的时候传不同的参数。它再判断。

yangjiajie0110
yangjiajie0110 谢谢啦!最后做出来了,和您说的一样 将一个标记变量(类成员变量 m_status)设置为不同的值,这个在按钮响应函数里面实现。然后在InsertCheck中,if(m_stauts==1) //迟到处理 else if(m_status==2) //上课处理。
接近 5 年之前 回复
yangjiajie0110
yangjiajie0110 谢谢啦!最后做出来了,和您说的一样
接近 5 年之前 回复

不对是怎么不对,编译错误还是插入失败还是插入数据错误

lx624909677
lx624909677 回复yangjiajie0110: 感觉哪儿有问题就设断点,然后单步调试看看错在哪儿了
接近 5 年之前 回复
yangjiajie0110
yangjiajie0110 error C2451: conditional expression of type 'void' is illegal 应该是判断if(OnStartClass())语句不对,可是我不知道怎么写
接近 5 年之前 回复

你OnStartClass函数返回void,不能作为if条件判断

oyljerry
oyljerry 回复yangjiajie0110: 那要看你的怎么更新的
接近 5 年之前 回复
yangjiajie0110
yangjiajie0110 我改成在头文件里声明一个类变量int m_state,然后在按钮响应函数标记m_state的不同值,再作为判断条件,可是编译没错,执行就崩溃了
接近 5 年之前 回复

VC 链接Access 数据库 插入变量到表 http://blog.csdn.net/u010236550/article/details/40584795

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问