数据库的增删改查

//增
        _variant_t RecordsAffected;
        CString AddSql;
        AddSql.Format(_T("INSERT INTO Pa_table(Pa_num,Pa_name,\
Pa_insurance,Pa_phone,Pa_sex,Pa_age,Pa_address,Pa_remarks )\
VALUES('%s','%s','%s','%s','%s','%s','%s','%s')"), m_num, \
m_name, m_insurance, m_phone, m_sex, m_age, m_address, m_remarks);

    try
    {
        m_pConnection->Execute((_bstr_t)AddSql, &RecordsAffected, adCmdText);
        AfxMessageBox(_T("添加病人成功!"));
//删
int listIndex = Palist.GetSelectionMark();     //当前选中项的索引 
    CString num = Palist.GetItemText(listIndex, 0);
    if (num.IsEmpty())
    {
        AfxMessageBox(_T("请选择要删除项!"));
        return;
    }
    try
    {   
        CString str;
        str.Format(_T("DELETE from Pa_table where Pa_num='%s'"), num);
        _variant_t RecordsAffected;
        m_pConnection->Execute((_bstr_t)str, &RecordsAffected, adCmdText);
        AfxMessageBox(_T("删除成功!"));
    }
    catch (_com_error*e)
    {
        AfxMessageBox(e->ErrorMessage());
    }
    FreshList();
}
//改
    UpdateData(true);
    int listIndex = Palist.GetSelectionMark();     //当前选中项的索引 
    CString num = Palist.GetItemText(listIndex, 0);
    if (num.IsEmpty())
    {
        AfxMessageBox(_T("请选择要修改项!"));
        return;
    }
    try
    {
        m_pRecordset.CreateInstance(__uuidof(Recordset));
        CString search_sql;
        search_sql.Format(_T("SELECT * FROM Pa_table WHERE Pa_num='%s'"), num);
        m_pRecordset = ((CCornealTopographerDlg*)(AfxGetMainWnd()))->m_pConnection->Execute(search_sql.AllocSysString(), NULL, adCmdText);
        while (!m_pRecordset->adoEOF)
        {
             Rnum = m_pRecordset->GetCollect("Pa_num").bstrVal;
             Rname = m_pRecordset->GetCollect("Pa_name").bstrVal;
             Rinsurance = m_pRecordset->GetCollect("Pa_insurance").bstrVal;
             Rphone = m_pRecordset->GetCollect("Pa_phone").bstrVal;
             Rsex = m_pRecordset->GetCollect("Pa_sex").bstrVal;
             Rage = m_pRecordset->GetCollect("Pa_age").bstrVal;
             Raddress = m_pRecordset->GetCollect("Pa_address").bstrVal;
             Rremarks = m_pRecordset->GetCollect("Pa_remarks").bstrVal;
            m_pRecordset->MoveNext();
        }

        m_pRecordset->Close();
    }
    catch (_com_error e)
    {
        AfxMessageBox(_T("搜索失败!"));
        return;
    }
//查
try
    {
        m_pRecordset.CreateInstance(__uuidof(Recordset));
        CString search_sql;
        search_sql.Format(_T("SELECT * FROM Pa_table WHERE Pa_num='%s'"), str);
        m_pRecordset = ((CCornealTopographerDlg*)(AfxGetMainWnd()))->m_pConnection->Execute(search_sql.AllocSysString(), NULL, adCmdText);
        Palist.DeleteAllItems();
        int nItem;
        while (!m_pRecordset->adoEOF)
        {
            CString num = m_pRecordset->GetCollect("Pa_num").bstrVal;
            CString name = m_pRecordset->GetCollect("Pa_name").bstrVal;
            CString insurance = m_pRecordset->GetCollect("Pa_insurance").bstrVal;
            CString phone = m_pRecordset->GetCollect("Pa_phone").bstrVal;
            CString sex = m_pRecordset->GetCollect("Pa_sex").bstrVal;
            CString age = m_pRecordset->GetCollect("Pa_age").bstrVal;
            CString address = m_pRecordset->GetCollect("Pa_address").bstrVal;
            CString remarks = m_pRecordset->GetCollect("Pa_remarks").bstrVal;
            nItem = Palist.GetItemCount();
            Palist.InsertItem(nItem,num);
            Palist.SetItemText(nItem, 1, name);
            Palist.SetItemText(nItem, 2, sex);
            Palist.SetItemText(nItem, 3, age);
            Palist.SetItemText(nItem, 4, phone);
            Palist.SetItemText(nItem, 5, insurance);
            Palist.SetItemText(nItem, 6, address);
            Palist.SetItemText(nItem, 7, remarks);
            m_pRecordset->MoveNext();
        }   

        m_pRecordset->Close();
    }
    catch (_com_error e)
    {
        AfxMessageBox(_T("搜索失败!"));
        return;
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值