VC++开发个人事务管理信息系统

工具

http://blog.csdn.net/bcbobo21cn/article/details/44200205

demoproject

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 执行。登录;

password不正确。可是输的是对的。看下代码;

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存在一点问题。仅仅显示了一个字段。而且没有显示列头;



须要在控件属性中选中 列表 样式,


记录才会按行排列;


posted on 2017-07-30 10:43  ljbguanli  阅读(315)  评论(0编辑  收藏  举报