void CSjtestDlg::OnBnClickedButtonAdd()
{
// TODO: 在此添加控件通知处理程序代码
this->ShowWindow(SW_HIDE);
DigAdd dig ;
dig.DoModal() ;
this->ShowWindow(SW_SHOW);
m_Grid.DeleteAllItems() ;
ADOConn m_Adoconn ;
m_Adoconn.OnInitADOConn() ;
CString sql ;
sql.Format(_T("select * from employees order by 员工编号 desc")) ;
m_Adoconn.m_pRecordset = m_Adoconn.GetRecordSet((_bstr_t)sql) ;
while(! m_Adoconn.m_pRecordset->adoEOF)
{
m_Grid.InsertItem(0,_T(""));
m_Grid.SetItemText(0,0,(_bstr_t)m_Adoconn.m_pRecordset->GetCollect(_T("员工编号")));
m_Grid.SetItemText(0,1,(_bstr_t)m_Adoconn.m_pRecordset->GetCollect(_T("员工姓名")));
m_Grid.SetItemText(0,2,(_bstr_t)m_Adoconn.m_pRecordset->GetCollect(_T("所属部门")));
m_Grid.SetItemText(0,3,(_bstr_t)m_Adoconn.m_pRecordset->GetCollect(_T("基本工资")));
//将记录集指针移动到下一条记录
m_Adoconn.m_pRecordset->MoveNext();
}
m_Adoconn.ExitConnect() ;
}

  

void CSjtestDlg::OnBnClickedButtonDelete()
{
// TODO: 在此添加控件通知处理程序代码
int indx = m_Grid.GetSelectionMark() ;//选中序号
CString str = m_Grid.GetItemText(indx,1) ;
if(indx < 0)
return ;
CString info ;
for(int i = 0 ; i < 4 ; i++){
info += m_Grid.GetItemText(indx,i) ;
info += _T("\n") ;
}
if(AfxMessageBox(info,MB_OKCANCEL,MB_ICONQUESTION) != IDOK)
return ;
ADOConn m_adoconn ;
m_adoconn.OnInitADOConn() ;
CString sql ;
sql.Format(_T("Delete from employees where 员工姓名 = '%s' "),str) ;
m_adoconn.ExecuteSQL((_bstr_t)sql) ;
m_Grid.DeleteAllItems() ;
sql.Format(_T("select * from employees order by 员工编号 desc")) ;
m_adoconn.m_pRecordset = m_adoconn.GetRecordSet((_bstr_t)sql) ; while(! m_adoconn.m_pRecordset->adoEOF)
{
m_Grid.InsertItem(0,_T(""));
m_Grid.SetItemText(0,0,(_bstr_t)m_adoconn.m_pRecordset->GetCollect(_T("员工编号")));
m_Grid.SetItemText(0,1,(_bstr_t)m_adoconn.m_pRecordset->GetCollect(_T("员工姓名")));
m_Grid.SetItemText(0,2,(_bstr_t)m_adoconn.m_pRecordset->GetCollect(_T("所属部门")));
m_Grid.SetItemText(0,3,(_bstr_t)m_adoconn.m_pRecordset->GetCollect(_T("基本工资")));
//将记录集指针移动到下一条记录
m_adoconn.m_pRecordset->MoveNext();
} m_adoconn.ExitConnect() ;
}

  

void DigAdd::OnBnClickedOk(){
// TODO: 在此添加控件通知处理程序代码
UpdateData() ;
CString sql ,x; ADOConn m_Adocon ;
m_Adocon.OnInitADOConn() ;
sql.Format(_T("select * from employees order by 员工编号 desc")) ;
m_Adocon.m_pRecordset = m_Adocon.GetRecordSet((_bstr_t)sql) ;
int Size = 0 ;
while(! m_Adocon.m_pRecordset->adoEOF){
Size++ ;
m_Adocon.m_pRecordset->MoveNext() ;
}
x.Format(_T("%d"),Size) ;
sql.Format(_T(" insert into employees (员工编号 ,员工姓名 , 所属部门 , 基本工资) \
values('%d' , '%s', '%s', '%s') "),1 + Size , this->m_name , this->m_bumen , this->m_money);
m_Adocon.ExecuteSQL((_bstr_t)sql) ;
MessageBox(x) ;
m_Adocon.ExitConnect() ;
CDialog::OnOK();
}

  

ADO数据库操作的更多相关文章

  1. VC与ADO数据库操作

    VC与ADO数据库操作 学研部的同志们,大家好! 想开一次学习会,实习时间冲突了,只好把文档发给大家看了.重点推荐李振龙的BMP读图教程! 尤其是大三GIS班的同志,注意了,可能实习用得上的! 一.A ...

  2. MFC ADO数据库操作

    MFC ADO数据库操作 - 延陵小明 - CSDN博客 http://blog.csdn.net/guoming0000/article/details/7280070/ 内容比较乱,作为草稿,对现 ...

  3. ADO.NET操作数据库(一)

    ---恢复内容开始--- [1]ADO.Net简介2015-12-07-20:16:05 ADO.Net提供对Microsoft SQL Server数据源以及通过OLE DB和XML公开的数据源的一 ...

  4. 数据库操作(ADO)

    QTP工具本身自带有数据查询和验证功能,但是使用的人会感觉这个功能使用起来比较麻烦,灵活性和复用性较低,于是我们选择了用脚本调用ADO组件实现数据库的操作,现总结下工作中用到的数据库操作,代码如下: ...

  5. VC++中使用ADO方式操作ACCESS数据库

    ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为 ...

  6. MFC,ADO方式实现数据库操作

    参考: MSDN数据访问编程 (MFC/ATL): https://msdn.microsoft.com/zh-cn/library/kd4ck1tt.aspx?f=255&MSPPError ...

  7. ado.net的简单数据库操作(二)之封装SqlHelperl类

    今天我书接上回,接着昨天的ado.net的数据库操作的相关知识来讲哈! 从上篇文章给出的实例来看,你一定会发现,操作数据库其实还挺麻烦的,就连一个最简单的数据库操作语句都要包括 定义数据库连接字符串. ...

  8. ado.net的简单数据库操作(一)

    摘要:接下来的几篇博客将要讲到如何使用ado.net实现简单的数据库操作,包括增删改等内容.首先会介绍基础的数据库操作,然后以一个实例来进行讲解,这个实例会把一个数据表读取到winform上,然后在w ...

  9. 使用ado.net打造通用的数据库操作类

    最近在项目中使用中碰到了这样一种情况,查询的数据是从Oracle中获取的,但是记录下来的数据是存在Sql Server中(企业Oracle数据库管理太严,没办法操作).而且我在之前的工作中也碰到过使用 ...

随机推荐

  1. Android中ExpandableListView的使用

    ExpandableListView是Android中可以实现下拉list的一个控件,具体的实现方法如下: 首先:在layout的xml文件中定义一个ExpandableListView < L ...

  2. Java中的Object类介绍

    Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object类. Object类中的所有方法适用于所有子类 Object中比较常见的方法: ...

  3. 架设lamp服务器后,发现未按照 Apache xsendfile模块,

    今天在架设lamp服务器后,发现apache 未按照xsendfile模块,于是查找资料按照如下: 安装apache xsendfile模块yum install mod_xsendfile

  4. 如何用SQL语句实现Mysql数据库的备份与还原

    以前一直做android客户端的项目,根本没有开发asp.net mvc的开发,现阶段做了一个模块,参数设置,以及数据库的备份与还原.其需求如下: 参数设置 本项参数设置为对自动数据备份进行设置,管理 ...

  5. iOS、swift、React Native学习常用的社区、论坛

    <!----iOS> <!----Swift>*IOS开发常用社区:http://code4app.com/ *IOS开发常用社区:http://www.cocoachina. ...

  6. 使用RXTX获取电脑串口

    RXTX是javacomm串口通信的一个扩展 RXTX开发所需文件的下载地址:http://rxtx.qbang.org/wiki/index.php/Download 解压之后可以看到支持各个平台的 ...

  7. 新手之自动转存DLL——20150626星期五

    -------------------菜鸟错例一:--------------------------------------------- int a=0; if() { int a = GetTy ...

  8. 好的bootstrap文章

    http://www.cnblogs.com/gamehiboy/p/5176618.html http://www.cnblogs.com/landeanfen/p/5821192.html htt ...

  9. 关于分布式事务的一个误解:使用了TransactionScope就一定会开启分布式事务吗?

    背景: 事务是数据库管理系统的一个基本概念,事务具有四个基本特点,即ACID:原子性(Atomicity).一致性(Consistency).隔离性(Isolation)和持久性(Durability ...

  10. Java 使用Memcache

    使用spymemcached.jar public class MemcachedJava { public static void main(String[] args) { try { // 连接 ...