VC++开发个人事务管理信息系统
2016-04-01 17:57
344 查看
工具
http://blog.csdn.net/bcbobo21cn/article/details/44200205
demo工程
http://pan.baidu.com/s/1slaISnr
1 开发个人事务管理信息系统;从网上下一个源码来改;
来源
http://www.newxing.com/Code/VC/data/4004.html
该源码运行如下,
2 运行,出现下图错误;可知是ODBC访问数据库,非ADO;
3 查看 连接 菜单的代码,
是db.Open一句报的错;
4 建立ODBC数据源,
发现没有access驱动;
原因参阅,
http://blog.csdn.net/wang379275614/article/details/7803576
5 进到如下目录再配置ODBC,
选择mdb数据库;配置成功;
6 运行,登录;
密码不对;但是输的是对的;看下代码;
if(strPasswd == CCrypt::Encrypt(m_strPasswd, 123) &&
此句可能存在问题,因为由数据库取到strPasswd,由更新数据变量得到界面输入的内容到m_strPasswd,这两个值实际是一个;加密后不会等于自身;
CCrypt::Encrypt()此函数的功能尚未搞清;下次再弄;
下断点可看到字符串加密后的值;
先注释掉加密代码;
7 运行起来;
8 修改其菜单为个人事务管理信息系统的菜单;
9 在资源-字符串表中,修改主框标题
10 打开数据库表;
工具:
http://blog.csdn.net/bcbobo21cn/article/details/51000041
修改其JOB表内容为设备类别表内容;设备类别即个人物品类别,服装、电子设备等类;
11 插入DataGrid控件,
出错,参阅,
http://blog.csdn.net/zhongjling/article/details/7787626
12 添加设备类别管理对话框,插入DataGrid控件,做一个界面如下;
13 新建对话框需要新加一个类
14 选择DataGrid控件需要的类;
15 如下图代码,打开记录集并绑定;
出错;如图;研究之后,原因在于,如上代码实际是用于ADO方式访问数据库的DataGrid绑定的;ODBC方式,目前所有网上资料都是,一行行添加数据的;如
http://www.vckbase.com/index.php/wv/248
等;
更换DataGrid控件为ListCtrl
按网上相关资料添加如下代码;
BOOL shblbDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_list3.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_list3.InsertColumn(0,_T("类别编号"),LVCFMT_IMAGE|LVCFMT_LEFT);
m_list3.InsertColumn(1,_T("类别名称"));
int j;
for(j=0;j<2;j++)
{
m_list3.SetColumnWidth(j ,180);
}
CRecordset rs(&db); // 数据集
CString str1,str2;
rs.Open(CRecordset::forwardOnly, "select * from JOB");
int i=0;
//rs.MoveFirst();
do
{
//m_list3.InsertItem(i,rs.m_column1,0);
rs.GetFieldValue("CODE", str1);
rs.GetFieldValue("DESCRIPTION", str2);
m_list3.InsertItem(i, str1,0);// 插入行
m_list3.SetItemText(i, 1, str2);//设置其它列数据
i++;
rs.MoveNext();
} while(!rs.IsEOF());
//rs.MoveFirst();
//m_shblbdlg.SetRefDataSource((LPUNKNOWN)rs.GetRecordset());
//m_shblbdlg.SetRefDataSource((LPUNKNOWN)rs.Requery());
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
数据库记录已经取到;但是插入数据到ListCtrl存在一点问题;只显示了一个字段;并且没有显示列头;
需要在控件属性中选中 列表 样式,
记录才会按行排列;
http://blog.csdn.net/bcbobo21cn/article/details/44200205
demo工程
http://pan.baidu.com/s/1slaISnr
1 开发个人事务管理信息系统;从网上下一个源码来改;
来源
http://www.newxing.com/Code/VC/data/4004.html
该源码运行如下,
2 运行,出现下图错误;可知是ODBC访问数据库,非ADO;
3 查看 连接 菜单的代码,
是db.Open一句报的错;
4 建立ODBC数据源,
发现没有access驱动;
原因参阅,
http://blog.csdn.net/wang379275614/article/details/7803576
5 进到如下目录再配置ODBC,
选择mdb数据库;配置成功;
6 运行,登录;
密码不对;但是输的是对的;看下代码;
if(strPasswd == CCrypt::Encrypt(m_strPasswd, 123) &&
此句可能存在问题,因为由数据库取到strPasswd,由更新数据变量得到界面输入的内容到m_strPasswd,这两个值实际是一个;加密后不会等于自身;
CCrypt::Encrypt()此函数的功能尚未搞清;下次再弄;
下断点可看到字符串加密后的值;
先注释掉加密代码;
7 运行起来;
8 修改其菜单为个人事务管理信息系统的菜单;
9 在资源-字符串表中,修改主框标题
10 打开数据库表;
工具:
http://blog.csdn.net/bcbobo21cn/article/details/51000041
修改其JOB表内容为设备类别表内容;设备类别即个人物品类别,服装、电子设备等类;
11 插入DataGrid控件,
出错,参阅,
http://blog.csdn.net/zhongjling/article/details/7787626
12 添加设备类别管理对话框,插入DataGrid控件,做一个界面如下;
13 新建对话框需要新加一个类
14 选择DataGrid控件需要的类;
15 如下图代码,打开记录集并绑定;
出错;如图;研究之后,原因在于,如上代码实际是用于ADO方式访问数据库的DataGrid绑定的;ODBC方式,目前所有网上资料都是,一行行添加数据的;如
http://www.vckbase.com/index.php/wv/248
等;
更换DataGrid控件为ListCtrl
按网上相关资料添加如下代码;
BOOL shblbDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_list3.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_list3.InsertColumn(0,_T("类别编号"),LVCFMT_IMAGE|LVCFMT_LEFT);
m_list3.InsertColumn(1,_T("类别名称"));
int j;
for(j=0;j<2;j++)
{
m_list3.SetColumnWidth(j ,180);
}
CRecordset rs(&db); // 数据集
CString str1,str2;
rs.Open(CRecordset::forwardOnly, "select * from JOB");
int i=0;
//rs.MoveFirst();
do
{
//m_list3.InsertItem(i,rs.m_column1,0);
rs.GetFieldValue("CODE", str1);
rs.GetFieldValue("DESCRIPTION", str2);
m_list3.InsertItem(i, str1,0);// 插入行
m_list3.SetItemText(i, 1, str2);//设置其它列数据
i++;
rs.MoveNext();
} while(!rs.IsEOF());
//rs.MoveFirst();
//m_shblbdlg.SetRefDataSource((LPUNKNOWN)rs.GetRecordset());
//m_shblbdlg.SetRefDataSource((LPUNKNOWN)rs.Requery());
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
数据库记录已经取到;但是插入数据到ListCtrl存在一点问题;只显示了一个字段;并且没有显示列头;
需要在控件属性中选中 列表 样式,
记录才会按行排列;
相关文章推荐
- OLEDB和ODBC的区别(优缺点)
- 总提示[Microsoft][ODBC Excel Driver] 数值字段溢出官方解决方法
- VC++ 中ListCtrl经验总结
- VC中CDC、HDC、pDC区别与联系及相互转换
- VC实现获取当前正在运行的进程
- vc中SendMessage自定义消息函数用法实例
- VC实现让关闭按钮成灰色不可用的方法
- VC++中的字体设置方法详解
- VC程序设计中CreateProcess用法注意事项
- VC实现批量删除指定文件的方法
- vc中使用SendMessage自定义消息函数
- vc提示unexpected end of file found的原因分析
- vc获取计算机名和ip地址的方法
- VC6.0实现读取Excel数据的方法
- VC下通过系统快照实现进程管理的方法
- ADO,OLEDB,ODBC,DAO,RDO的区别说明
- VC实现Windows多显示器编程的方法
- ASP通过ODBC连接SQL Server 2008数据库的方法
- VC下实现fopen支持中文的方法
- 解析VC中预编译头文件的深入分析