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. JQuery EasyUI DataGrid常用操作及注意事项(未完)

    1.获取当前选中行,如果没有选中行,则返回 null var row = $('#gridID').datagrid('getSelected'); 2.获取当前所有选中行数据,返回的是选择的数组数据 ...

  2. Sublime Text 3 简体中文汉化包

    Sublime Text 3下载 不用说是上官方下载地址:http://www.sublimetext.com/3 Sublime Text 3 简体中文汉化包使用方法 1.将上面要求下载的subli ...

  3. Navicat premium工具常用快捷键

    Navicat premium是一款数据库管理工具,它可以以单一程式同时连线到MySQL.PostgreSQL. Oracle .SQL Server 及 SQLite 资料库,让管理不同类型的资料库 ...

  4. JavaScript变量作用域

    全部变量拥有全局作用域,局部变量拥有局部作用域(这里注意函数的参数也是局部变量) 1.在函数体内,局部变量的优先级高于同名的全局变量. 我的理解就是当你同时定义了同名的局部变量和全局变量时,函数体内返 ...

  5. 关于word excel 等的信息隐藏技术

    简单的word 信息隐藏技术分为两种 一  利用word自带的功能对信息进行隐藏,即选中要隐藏的文字 单击右键 选择字体  给隐藏选项打勾即可    这种信息隐藏比较简单  找到的方式为单机文件——找 ...

  6. java中文乱码分析整理

    在JavaWeb应用开发中,经常会出现页面中本该显示中文的地方却是乱码的情况.究其原因,主要是由于在Web组件之间.或Web组件与浏览器.与数据库所使用的字符集标准不统一,Web应用程序运行过程中,中 ...

  7. HDU1532 网络流:最大流之福德福克森算法

    问题描述:约翰是个农民,每次下雨的时候他的庄家总是会被淹没,这就意味着当庄家被水淹后需要很长时间才能重新生长出来,因此,约翰已经建立了一系列排水管道为了使他的庄家尽可能被淹没的最少,也就是说管道的排水 ...

  8. phpstorm version 2016.2 License Server激活

    phpstorm version 2016.2 License Server激活 安装后,在激活的时候选择 license server; 输入如下地址激活: http://jetbrains.ten ...

  9. P1834 种花小游戏

    我只是想做壮鸭低劈啊,为什么只有状压没有DP-- 原题: 植物大战僵尸这款游戏中,还有个特别有意思的赚钱方式--种花(能长金币的花).种出来的金币需要玩家点击才能得到,或者,玩家可以购买一只蜗牛来帮助 ...

  10. Fiddler (HTTP抓包)简介

    1.什么是Fiddler? Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一.它能够记录客户端和服务器之间的所有HTTP请求,可以针对特定的HTTP请求,分析请 ...