VC DataGrid的简单使用范例!
来源:互联网 发布:oracle性能监控和优化 编辑:程序博客网 时间:2024/05/24 15:36
本文为DataGrid控件在VC6.0中使用的基本范例,主要功能为插入一行数据并在控件中显示,及删除一行数据并在控件中显示。
1 在VC6.0中建立MFCApp(exe)工程;
2 导入DataGrid控件:
路径:Project-->Add To Project-->Conponents and Controls
选择集合:
选择组件,选好后别忘记“Insert”:
演示目前的功能仅需要选择图片中的三个类就可以了:
这时组件就被导入到工具箱中了,在Form中画好后再为其添加一个控件变量 m_ctrlDataGrid1;
3 实现数据绑定:
对于数据库的操作,我在这里使用了ADO来执行;
要使用ADO的话不要忘记在你的stdafx.h中将其导入:
#import "c:/program files/common files/system/ado/msado15.dll"
我使用的是SQLSERVER2005 EXPRESS,也就是附带在VS2005中的开发版本,数据库连接字符串的设置如下:
CString strSqlLink = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SalManSystem;Data Source=.//SQLEXPRESS";
注意:Data Source的设置对比2005之前版本的设置略有不同;
对话框初始化时的数据绑定代码:
4 插入操作:
这个非常简单,代码如下:
5 删除操作:
这个需要稍微花点心思。
在这里我的数据库中将em_id设置为主键,所以可以只获取指定行的id值来作为删除条件,若是你的需求有变,那就需要多组合几个键值了:
最后,希望这篇文章会对你有用。
1 在VC6.0中建立MFCApp(exe)工程;
2 导入DataGrid控件:
路径:Project-->Add To Project-->Conponents and Controls
选择集合:
选择组件,选好后别忘记“Insert”:
演示目前的功能仅需要选择图片中的三个类就可以了:
这时组件就被导入到工具箱中了,在Form中画好后再为其添加一个控件变量 m_ctrlDataGrid1;
3 实现数据绑定:
对于数据库的操作,我在这里使用了ADO来执行;
要使用ADO的话不要忘记在你的stdafx.h中将其导入:
#import "c:/program files/common files/system/ado/msado15.dll"
我使用的是SQLSERVER2005 EXPRESS,也就是附带在VS2005中的开发版本,数据库连接字符串的设置如下:
CString strSqlLink = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SalManSystem;Data Source=.//SQLEXPRESS";
注意:Data Source的设置对比2005之前版本的设置略有不同;
对话框初始化时的数据绑定代码:
BOOL CTestDATAGRIDDlg::OnInitDialog()
{
//................以上省略若干行
// TODO: Add extra initialization here
CString strConnection;
strConnection.Format(_T(sqllink));
m_ADODb.Open((LPCTSTR)strConnection); //打开程序数据库
m_Rs.SetDatabase(&m_DBCn);
m_Rs.Open(_T("select * from em_baseinfo;"));
m_ctrlDataGrid1.SetCaption(_T("Add Employeer")); //设置标题
m_ctrlDataGrid1.SetRefDataSource((LPUNKNOWN)m_Rs.GetRecordset()); //绑定数据源
return TRUE; // return TRUE unless you set the focus to a control
}
{
//................以上省略若干行
// TODO: Add extra initialization here
CString strConnection;
strConnection.Format(_T(sqllink));
m_ADODb.Open((LPCTSTR)strConnection); //打开程序数据库
m_Rs.SetDatabase(&m_DBCn);
m_Rs.Open(_T("select * from em_baseinfo;"));
m_ctrlDataGrid1.SetCaption(_T("Add Employeer")); //设置标题
m_ctrlDataGrid1.SetRefDataSource((LPUNKNOWN)m_Rs.GetRecordset()); //绑定数据源
return TRUE; // return TRUE unless you set the focus to a control
}
4 插入操作:
这个非常简单,代码如下:
BOOL CTestDATAGRIDDlg::InsertEMInfo()
{
CString strSQL;
strSQL.Format( _T("INSERT INTO em_baseinfo(em_name, em_id, em_sex, em_edu)VALUES('%s', '%s', '%s', '%s');")
, m_strName, m_strID, m_strSex, m_strEDU );
m_Rs.Open((LPCTSTR)strSQL);
m_Rs.Open(_T("select * from em_baseinfo;"));
m_ctrlDataGrid1.SetRefDataSource((LPUNKNOWN)m_Rs.GetRecordset());
return TRUE;
}
{
CString strSQL;
strSQL.Format( _T("INSERT INTO em_baseinfo(em_name, em_id, em_sex, em_edu)VALUES('%s', '%s', '%s', '%s');")
, m_strName, m_strID, m_strSex, m_strEDU );
m_Rs.Open((LPCTSTR)strSQL);
m_Rs.Open(_T("select * from em_baseinfo;"));
m_ctrlDataGrid1.SetRefDataSource((LPUNKNOWN)m_Rs.GetRecordset());
return TRUE;
}
5 删除操作:
这个需要稍微花点心思。
在这里我的数据库中将em_id设置为主键,所以可以只获取指定行的id值来作为删除条件,若是你的需求有变,那就需要多组合几个键值了:
BOOL CTestDATAGRIDDlg::DelEMInfo()
{
VARIANT index;
CColumns columns;
CColumn column;
index.vt=VT_INT;
columns=m_ctrlDG.GetColumns(); //得到当前选中行的列集
long nCount = columns.GetCount(); //列数
index.lVal = 1;
column = columns.GetItem(index);//顺序得到单元格的值
CString strid;
strid = column.GetText();
strid.Remove(' ');
CString strSQL;
strSQL.Format( _T("delete from em_baseinfo where em_id='%s'")
, strid);
m_Rs.Open((LPCTSTR)strSQL);
m_Rs.Open(_T("select * from em_baseinfo;"));
m_ctrlDataGrid1.SetRefDataSource((LPUNKNOWN)m_Rs.GetRecordset());
return TRUE;
}
{
VARIANT index;
CColumns columns;
CColumn column;
index.vt=VT_INT;
columns=m_ctrlDG.GetColumns(); //得到当前选中行的列集
long nCount = columns.GetCount(); //列数
index.lVal = 1;
column = columns.GetItem(index);//顺序得到单元格的值
CString strid;
strid = column.GetText();
strid.Remove(' ');
CString strSQL;
strSQL.Format( _T("delete from em_baseinfo where em_id='%s'")
, strid);
m_Rs.Open((LPCTSTR)strSQL);
m_Rs.Open(_T("select * from em_baseinfo;"));
m_ctrlDataGrid1.SetRefDataSource((LPUNKNOWN)m_Rs.GetRecordset());
return TRUE;
}
最后,希望这篇文章会对你有用。
- VC DataGrid的简单使用范例!
- VC DataGrid的简单使用范例
- JPush的使用简单范例
- VC++ DataGrid 控件的使用。。
- 使用 Python3 抓取网页的简单范例
- xAjax简单使用范例
- VC++ webbrowser函数使用范例
- VC++ webbrowser函数使用范例
- VC++ webbrowser函数使用范例
- VC++ webbrowser函数使用范例
- 简单的AJAX范例
- GLSL的简单范例
- [收藏]使用DOM操作XML文档的简单范例代码
- VC DataGrid控件使用总结
- VC窗体通信(SendMessage使用范例)
- BindingSource的使用范例
- SQLiteOpenHelper的使用范例
- JCheckBox的使用范例
- Tomcat5.5配置虚拟主机
- build.xml
- 嵌入式Linux系统开发技术详解-基于ARM --第六章 bootloader
- Oracle to_date的使用方法
- 我写的第一个ant文件
- VC DataGrid的简单使用范例!
- 微软workflow foundation介绍
- 使用ant构建c++ 程序
- HTML快速入门4——表格入门
- C# 泛型简介
- C#经典面试试题
- 如何使用 Visual C# 创建线程
- HTML快速入门5——不规则表格、表格背景、边框颜色
- DataTable导出到excel word