用ado连接access 联系客服

发布时间 : 星期一 文章用ado连接access更新完毕开始阅读d1e0d2eb19e8b8f67c1cb962

var = m_pRecordset->GetCollect(\ if(var.vt != VT_NULL)

m_Name = (LPCSTR)_bstr_t(var);//////m_Name,m_Age等要做定义

////在对话框中新建几个按键 先定义名称

并代表申明变量 m_Name,m_Age

var = m_pRecordset->GetCollect(\ if(var.vt != VT_NULL)

m_Age = (LPCSTR)_bstr_t(var);

UpdateData(false); }

catch(_com_error *e) {

AfxMessageBox(e->ErrorMessage()); } } 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、-----------------------------------------------------------------------------

-------------------------------------------------------------------------------------------

--------------------------------------------------------------------

8)---------------------------------插入的字段值------------------------------------- ////////////////////////////////////////////////////////////////////////////// //名称:OnWriteAccess

//功能:用ADO来写入插入的字段值

///////////////////////////////////////////////////////////////////////////// ////步骤:1 调用AddNew()新增一个空记录集

//////////2 调用PutCollect(字段名,值)输入每个字段的值 //////////3 调用Update()更新数据库中的数据 ///////

void CAdoRWAccessDlg::OnWriteAccess() {

UpdateData();

if(m_Name == \ {

AfxMessageBox(\姓名和年龄信息不能为空!\

return; }

//检验年龄是否正确 long age;

age=atol(m_Age); if(age<0 || age>150) {

AfxMessageBox(\“年龄”错误,请重新输入“年龄”!\ m_Age=\

UpdateData(false);

GetDlgItem(IDC_AGE)->SetFocus(); return;//////这里出错!!怎么改??

//////////////////////////////定义主键是 数字不能相同,所以要排除 }

//在ADO操作中建议语句中要常用try...catch()来捕获错误信息, //因为它有时会经常出现一些想不到的错误。 try {

// 写入各字段值

m_pRecordset->AddNew();

m_pRecordset->PutCollect(\ m_pRecordset->PutCollect(\ m_pRecordset->Update();

AfxMessageBox(\插入成功!\

// 更新显示其库内容

int nCurSel = m_AccessList.GetCurSel(); ListData();///显示出来

m_AccessList.SetCurSel(nCurSel); // 移动记录指针到新的位置 OnSelchangeListaccess(); }

catch(_com_error *e) {

AfxMessageBox(e->ErrorMessage()); } }

9)---------------------------------修改并更新当前记录值------------------------------- ---------------------------------------------------------------------- ////////////////////////////////////////////////////////////////////////////// //名称:OnModify

//功能:修改并更新当前记录值

/////////////////////////////////////////////////////////////////////////////

//////1 调用PutCollext(字段名,值)给当前记录行的每个字段赋新值 //////2 调用UPdate()更新数据库中的数据 //////////////////////////////////////////////

void CAdoRWAccessDlg::OnModify() {

UpdateData(); // 更新对话框数据

if(m_AccessList.GetCount() == 0 || m_Name == \ {

AfxMessageBox(\表中记录数为空或姓名和年龄信息没有设置!\ return; }

else if(m_AccessList.GetCurSel() < 0 || m_AccessList.GetCurSel() >

m_AccessList.GetCount())

m_AccessList.SetCurSel(0);

//判断年龄是否正确 long age;

age=atol(m_Age); if(age<0 || age>150) {

AfxMessageBox(\“年龄”错误,请重新输入“年龄”!\ m_Age=\

UpdateData(false);

GetDlgItem(IDC_AGE)->SetFocus(); return; }

// 修改当前记录的字段值 try {

m_pRecordset->PutCollect(\ m_pRecordset->PutCollect(\ m_pRecordset->Update();

// 重新读入库记录更新显示

int nCurSel = m_AccessList.GetCurSel(); ListData();

m_AccessList.SetCurSel(nCurSel); // 移动记录指针到新的位置 OnSelchangeListaccess(); }

catch(_com_error *e) {

AfxMessageBox(e->ErrorMessage()); } }

10)/////////////////////////////删除并更新当前记录/////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// //名称:OnDelete

//功能:删除并更新当前记录

///////////////////////////////////////////////////////////////////////////// void CAdoRWAccessDlg::OnDelete() {

if(m_AccessList.GetCount() == 0) return;

else if(m_AccessList.GetCurSel() < 0 || m_AccessList.GetCurSel() >

m_AccessList.GetCount())

m_AccessList.SetCurSel(0);

try {

// 删除当前行记录

m_pRecordset->Delete(adAffectCurrent); m_pRecordset->Update();

// 删除列表中当前值

int nCurSel = m_AccessList.GetCurSel(); m_AccessList.DeleteString(nCurSel);

if(nCurSel == 0 && (m_AccessList.GetCount() != 0)) m_AccessList.SetCurSel(nCurSel); else if(m_AccessList.GetCount() != 0) m_AccessList.SetCurSel(nCurSel-1);

// 移动记录指针到新的位置 OnSelchangeListaccess(); }

catch(_com_error *e) {

AfxMessageBox(e->ErrorMessage()); } }