vc连接access数据库及数据表基本操作

1.建立基本对话框

在类中新建两个变量CString m_strName; CString m_strPassword;

Cfinancial_sysDlg::Cfinancial_sysDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(Cfinancial_sysDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_strName = _T("娱乐");
m_strPassword = _T("123");

CoInitialize(NULL);
}

void Cfinancial_sysDlg::DoDataExchange(CDataExchange* pDX)

{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDC_name1, m_strName);
DDV_MaxChars(pDX,m_strName,8);
DDX_Text(pDX, IDC_password1, m_strPassword);
DDV_MaxChars(pDX,m_strPassword,8);
}

2.ado方法连接数据库

在stdafx.h中添加

#import "msado15.dll" no_namespace rename("EOF","adoEOF")

在financial_sysDlg.h 中添加变量_ConnectionPtr pConn;  用来连接数据库的对象

class Cfinancial_sysDlg : public CDialogEx
{
// 构造
public:
Cfinancial_sysDlg(CWnd* pParent = NULL);// 标准构造函数
        .......
        _ConnectionPtr pConn;

.........

}


在Cfinancial_sysDlg.cpp中 的构造函数中添加如下代码:

Cfinancial_sysDlg::Cfinancial_sysDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(Cfinancial_sysDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_strName = _T("娱乐");
m_strPassword = _T("123");
CoInitialize(NULL);
}

并在析构函数中添加

Cfinancial_sysDlg::~Cfinancial_sysDlg()
{
pConn->Close();
pConn.Release();
};

在financial_sysDlg.h 中定义析构函数

class Cfinancial_sysDlg : public CDialogEx
{
// 构造
public:
Cfinancial_sysDlg(CWnd* pParent = NULL);// 标准构造函数
        .......
~Cfinancial_sysDlg();

.........

}

3.登录按钮与登录界面中输入的用户名和密码进行对比,以保证正常登录

UpdateData(TRUE);
CString strConnect;
 strConnect =_T("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+m_strName+".mdb;persist security info=false;Jet OLEDB:Database Password="+m_strPassword+"");
HRESULT hr;
hr = pConn.CreateInstance("ADODB.Connection");
       try
       {   
          if(SUCCEEDED(hr))
 {
            pConn->ConnectionTimeout = 15;                          //设置连接时间
   pConn->Open(_bstr_t(strConnect),"","",adModeUnknown);     //连接SQL SERVER


//char *pMessage;
//pMessage="连接数据库成功";
CString Message;
            Message.Format(_T("连接数据库成功"));
            AfxMessageBox(Message);
 }
 else
 {
 CString Message;
            Message.Format(_T("ADO对象实例化失败"));
            AfxMessageBox(Message);
 }
 
 
       }
       catch(_com_error e)  //捕捉异常
      {
  CString errMessage;
           errMessage.Format(_T("连接数据库失败!\r\n错误信息:%s"),
           (LPCTSTR)e.Description(),
           (LPCTSTR)e.ErrorMessage());   
           AfxMessageBox(errMessage);
       } 

4.access数据库操作

定义

_variant_t aacs;
CString acs;

操作

//--------插入数据
acs="INSERT INTO 表1(ID,name,age) VALUES (10,'liala',25)";
pConn->Execute((_bstr_t)acs, &aacs, adCmdUnknown);
AfxMessageBox("数据插入成功");
//--------删除数据
  acs="delete from 表1 where ID=10";
pConn->Execute((_bstr_t)acs, &aacs, adCmdUnknown);
AfxMessageBox("数据删除成功");
//--------更新数据
  acs="update 表1 set name='李四' where ID=3";
pConn->Execute((_bstr_t)acs, &aacs, adCmdUnknown);
AfxMessageBox("数据更新成功");
//--------建表
    acs="create table 表3(age SmallInt,hight Float,birthday DateTime)";
pConn->Execute((_bstr_t)acs, &aacs, adCmdUnknown);
AfxMessageBox("表3建立成功");
//--------表加字段    
acs="alter table 表3 add column name1 Text";
pConn->Execute((_bstr_t)acs, &aacs, adCmdUnknown);
AfxMessageBox("表3加字段成功");
//--------表删字段
acs="alter table 表3 drop column name1 ";
pConn->Execute((_bstr_t)acs, &aacs, adCmdUnknown);
AfxMessageBox("表3删除字段成功");
//--------删表
acs="drop table 表3";
pConn->Execute((_bstr_t)acs, &aacs, adCmdUnknown);
AfxMessageBox("表3删除成功");






  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VC(Visual C++)是一个面向可视化应用程序开发的集成开发环境(IDE),可以使用它来操作Access数据库进行查询、插入、更新和删除等操作。 对于查询操作,VC可以通过ADO(ActiveX Data Objects)来连接Access数据库并执行SQL查询语句。首先,需要引入相关头文件和库文件,然后创建一个ADO连接对象并打开数据库连接。接下来,可以使用SQL语句来查询所需的数据,并通过ADO记录集对象来获取查询结果。 对于插入操作,可以使用VC的ADO对象来插入新的数据记录到Access数据库表中。类似于查询操作,首先创建一个ADO连接对象并打开数据库连接,然后构造插入语句并使用ADO执行该语句。 对于更新操作,可以使用VC的ADO对象来更新Access数据库表中的现有数据记录。同样,创建ADO连接对象并打开数据库连接,然后构造更新语句并使用ADO执行该语句。 对于删除操作,使用VC的ADO对象来从Access数据库表中删除数据记录。同样的步骤,创建ADO连接对象并打开数据库连接,然后构造删除语句并使用ADO执行该语句。 需要注意的是,在使用VC操作Access数据库时,需要确保已经正确安装了相应的数据库驱动程序,并且在代码中合理处理异常情况,例如数据库连接失败或查询结果为空等情况。 总之,VC通过ADO提供了操作Access数据库的接口和方法,可以通过SQL语句来执行查询、插入、更新和删除等操作,从而实现对Access数据库的灵活操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值