VC课设.docx
- 文档编号:7510289
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:13
- 大小:95.65KB
VC课设.docx
《VC课设.docx》由会员分享,可在线阅读,更多相关《VC课设.docx(13页珍藏版)》请在冰豆网上搜索。
VC课设
实验报告
班级:
网络Z091
学号:
094555
姓名:
孟园园
一、实验目的
1.掌握数据库的基本知识、ODBC程序设计
2.掌握列表框和组合框控件
二、实验内容
1.在VC++6.0中编写程序
2.数据库应用程序基本设计和购物表设计
三、编程序
1.数据库
步骤:
设置->控制面板->管理工具->数据源->添加->MicroSoftAccessDriver(*mdb)
选择(刚建好的数据库)、数据源名(comp)
定义的变量:
C1setm_set;(C1set自己添加的类,基类为CRecordSet)
CListCtrlm_list;
CStringm_chax;
⑴初始化:
voidCCompanyView:
:
OnInitialUpdate()
{
CFormView:
:
OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
m_list.InsertColumn(0,"num");
m_list.InsertColumn(1,"sex");
m_list.InsertColumn(2,"age");
m_list.InsertColumn(3,"name");
m_list.SetColumnWidth(0,100);
m_list.SetColumnWidth(1,100);
m_list.SetColumnWidth(2,100);
m_list.SetColumnWidth(3,100);
CStringsql="select*from表1";
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
inti=0;
while(!
m_set.IsEOF())
{
m_list.InsertItem(i,m_set.m_num);
m_list.SetItemText(i,1,m_set.m_sex);
CStringstr;
str.Format("%d",m_set.m_age);
m_list.SetItemText(i,2,str);
m_list.SetItemText(i,3,m_set.m_name);
m_set.MoveNext();
i++;
}
m_set.Close();
}
⑵“添加”调出新对话框(IDD_DIALOG1)
创建一个新类Cadddlg,并添加头文件”#include"c1set.h"”
及成员变量(CStringm_num;intm_sex;CStringm_wage;intm_age;)
voidCCompanyView:
:
Onadd()
{
cadddlg;
if(dlg.DoModal()==IDOK)
{
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,NULL);
m_set.AddNew();
m_set.m_num=dlg.m_num2;
if(dlg.m_sex2==0)
m_set.m_sex="男";
else
m_set.m_sex="女";
m_set.m_age=dlg.m_age2;
m_set.m_name=dlg.m_name2;
m_set.Update();
m_set.Close();
}}
⑶“删除”
voidCMy1View:
:
Ondel()
{
inti=m_list.GetSelectionMark();
if(i<0)
this->MessageBox("先选取记录");
else
{
CStringxnum1;
charxnum[10];
intx=m_list.GetItemText(i,0,xnum,10);
xnum1.Format("%s",xnum);
CStringsql="select*from表1wherenum='"+xnum1+"'";
//"select*fromstudwherenum='10001'"
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
m_set.Delete();
m_set.Close();
}}
⑷“浏览”
voidCCompanyView:
:
OnScan()
{
m_list.DeleteAllItems();
CStringsql="select*fromcomp";
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
inti=0;
while(!
m_set.IsEOF())
{
m_list.InsertItem(i,m_set.m_num);
m_list.SetItemText(i,1,m_set.m_sex);
CStringstr;
str.Format("%d",m_set.m_age);
m_list.SetItemText(i,2,str);
m_list.SetItemText(i,3,m_set.m_wage);
m_set.MoveNext();
i++;
}
m_set.Close();
}
⑸“修改”
voidCMy1View:
:
Onedit()
{
inti=m_list.GetSelectionMark();
if(i<0)
{
this->MessageBox("先选取记录");
return;
}
cadddlg;
CStringxnum1,xnum0;
charxnum[10];
m_list.GetItemText(i,0,xnum,10);
xnum1.Format("%s",xnum);
dlg.m_num2=xnum1;
xnum0=xnum1;
m_list.GetItemText(i,1,xnum,10);
xnum1.Format("%s",xnum);
//dlg.m_sex2=0;
if(xnum1=="男")
dlg.m_sex2=0;
else
dlg.m_sex2=1;
m_list.GetItemText(i,2,xnum,10);
dlg.m_age2=atoi(xnum);
m_list.GetItemText(i,3,xnum,10);
dlg.m_name2=xnum;
//UpdataDate(0);
if(dlg.DoModal()!
=IDOK)return;
CStringsql="select*from表1wherenum='"+xnum0+"'";
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
m_set.Edit();
m_set.m_age=dlg.m_age2;
m_set.m_num=dlg.m_num2;
m_set.m_name=dlg.m_name2;
if(dlg.m_sex2==0)
m_set.m_sex="男";
else
m_set.m_sex="女";
m_set.Update();
m_set.Close();
}
⑹“查询”
voidCMy1View:
:
Oncha()
{
this->UpdateData
(1);
m_list.DeleteAllItems();
CStringsql="select*from表1wherenum='"+m_num1+"'";
//"select*fromstudwherenum='10001'"
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
if(m_set.m_num!
=m_num1)
{
this->MessageBox("无记录");
return;
}
else
{
m_list.InsertItem(0,m_set.m_num);
m_list.SetItemText(0,1,m_set.m_sex);
CStringstr;
str.Format("%d",m_set.m_age);
m_list.SetItemText(0,2,str);
m_list.SetItemText(0,3,m_set.m_name);
m_set.Close();
}
}
购物表设计
添加了一个新类
structGoodsType
{
char*type;
char*name;
intprice;
}goods[]={
"日常用品","牙刷",2,
"日常用品","牙膏",3,
"日常用品","毛巾",5,
"日常用品","脸盆",2,
"日常用品","香皂",4,
"文具","铅笔",1,
"文具","圆珠笔",2,
"文具","钢笔",12,
"文具","水彩笔",6,
"文具","签字笔",2,
"球类","篮球",22,
"球类","足球",25,
"球类","羽毛球",62,
"球类","网球",82,
"球类","乒乓球",50
};
添加的变量:
inttotal;
intcount;
CListBoxm_isSelGoods;
CListBoxm_isName;
CComboBoxm_cmbType;
CStringm_Type;
CStringm_Name;
CStringm_singleprice;
CStringm_totalprice;
intm_count;
CStringm_SelGoods;
1初始化
BOOLCShoppingDlg:
:
OnInitDialog()
{
m_singleprice="单价";
m_totalprice="共计:
";
total=0;
count=0;
m_cmbType.AddString("日常用品");
m_cmbType.AddString("文具");
m_cmbType.AddString("球类");
m_Type="日常用品";
for(inti=0;i<5;i++)
{
m_isName.AddString(goods[i].name);
}
UpdateData(0);
}
2左侧列表框
voidCShoppingDlg:
:
OnSelchangeSaleList1()
{
UpdateData();
for(inti=0;i<15;i++)
{
if(m_Name==goods[i].name)
{
charx[100];
sprintf(x,"单价:
%d元",goods[i].price);//int型转换成字符串型
m_singleprice=x;
UpdateData(0);
break;
}
}
}
3组合框
voidCShoppingDlg:
:
OnSelchangeSaleType()
{
intstart;
intx=m_cmbType.GetCurSel();//组合框中选取当前商品类型
m_cmbType.GetLBText(x,m_Type);//传到列表框中
if(m_Type=="日常用品")
{
start=0;
}
elseif(m_Type=="文具")
{
start=5;
}
else
start=10;
m_isName.ResetContent();//重置列表框1的内容
for(inti=start;i { m_isName.AddString(goods[i].name);//追加商品名称 } } 4确定 voidCShoppingDlg: : OnShop() { UpdateData(); for(inti=0;i<15;i++) { if(m_Name==goods[i].name) { total=total+goods[i].price*m_count; break; } } m_isSelGoods.AddString(m_Name); charx[100]; sprintf(x,"共计: %d元",total); m_totalprice=x; UpdateData(0); } 5取消选择 voidCShoppingDlg: : OnCansel() { UpdateData(); for(inti=0;i<15;i++) { if(m_Name==goods[i].name) { total-=goods[i].price*m_count; break; } } ints=m_isSelGoods.GetCurSel(); m_isSelGoods.DeleteString(s); charx[100]; sprintf(x,"共计: %d元",total); m_totalprice=x; UpdateData(0); } 6取消 voidCShoppingDlg: : OnCancel() { CDialog: : OnCancel(); } 四、运行结果 1.数据库 ⑴添加listcontrol控件 ⑵添加“添加”按钮 ⑶添加“删除”按钮 ⑷添加“浏览”按钮 ⑸添加“修改”按钮 7添加“查询”按钮 2.购物表设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC
![提示](https://static.bdocx.com/images/bang_tan.gif)