您的当前位置:首页大一vb的实验报告

大一vb的实验报告

2022-05-23 来源:乌哈旅游

  实验报告

  班级:网络Z091

  学号:094552

  姓名:李丹

  一、

  1.

  2.

  二、

  1.

  2.

  三、

  1. 实验目的 掌握数据库的基本知识、ODBC程序设计 掌握列表框和组合框控件 实验内容 在VC++6.0中编写程序 数据库应用程序基本设计和购物表设计 编程序 数据库

  步骤:设置->控制面板->管理工具->数据源->添加->MicroSoft Access Driver(*mdb) 选择(刚建好的数据库)、数据源名(comp)

  定义的变量:CCompanySet m_set;(CCompanySet自己添加的类,基类为CRecordSet)CListCtrl m_list;

  CString m_chax;

  ⑴初始化:

  void CCompanyView::OnInitialUpdate

  {

  m_list.InsertColumn(0,"num");

  m_list.InsertColumn(1,"sex");

  m_list.InsertColumn(2,"age");

  m_list.InsertColumn(3,"wage");

  m_list.SetColumnWidth(0,100);

  m_list.SetColumnWidth(1,100);

  m_list.SetColumnWidth(2,100);

  m_list.SetColumnWidth(3,100);

  CString sql="select * from comp";

  m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);//打开记录集

  int i=0;

  while(!m_set.IsEOF)

  {

  m_list.InsertItem(i,m_set.m_num);

  m_list.SetItemText(i,1,m_set.m_sex);

  CString str;

  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;

  }

  ⑵“添加”调出新对话框(IDD_DIALOG1)

  创建一个新类CCompDlg,并添加头文件” #include "CompDlg.h"”

  及成员变量(CString m_num; int m_sex; CString m_wage; int m_age;)

  void CCompanyView::OnAdd

  {

  CCompDlg dlg;

  if(dlg.DoModal==IDOK)

  {

  m_set.Open(AFX_DB_USE_DEFAULT_TYPE,NULL); m_set.AddNew;

  m_set.m_num=dlg.m_num;

  if(dlg.m_sex==0)

  m_set.m_sex="男";

  else

  m_set.m_sex="女";

  m_set.m_age=dlg.m_age;

  m_set.m_wage =dlg.m_wage;

  m_set.Update;

  m_set.Close;

  }

  }

  ⑶“删除”

  void CCompanyView::OnDel

  {

  int i=m_list.GetSelectionMark;

  if(i<0)

  this->MessageBox("先选取记录");

  else

  {

  CString xnum1;

  char xnum[10];

  int x=m_list.GetItemText(i,0,xnum,10);

  xnum1.Format("%s",xnum);

  CString sql="select * from comp where num='"+xnum1+"'"; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql); m_set.Delete;

  m_set.Close;

  }

  }

  ⑷“浏览”

  void CCompanyView::OnScan

  {

  m_list.DeleteAllItems;

  CString sql="select * from

  comp";

  m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);int i=0;

  while(!m_set.IsEOF)

  m_list.InsertItem(i,m_set.m_num);

  m_list.SetItemText(i,1,m_set.m_sex);

  CString str;

  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;

  }

  ⑸“修改”

  void CCompanyView::OnEdit

  {

  CCompDlg dlg;

  int i=m_list.GetSelectionMark;

  if(i<0)

  {

  this->MessageBox("先选取记录");

  return;

  }

  CString xnum0,xnum1;

  char xnum[10];

  int x=m_list.GetItemText(i,0,xnum,10);

  xnum1.Format("%s",xnum);

  dlg.m_num=xnum1;

  xnum0=xnum1;

  CString str="select * from comp where num='"+xnum0+"'"; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,str);dlg.m_num=m_set.m_num;

  dlg.m_age=m_set.m_age;

  dlg.m_wage=m_set.m_wage;

  if(m_set.m_sex=="男")

  dlg.m_sex=0;

  else

  dlg.m_sex=1;

  dlg.DoModal;

  m_set.Edit;

  m_set.m_num=dlg.m_num;

  m_set.m_age=dlg.m_age;

  m_set.m_wage=dlg.m_wage;

  if(dlg.m_sex==0)

  m_set.m_sex="男";

  m_set.m_sex ="女";

  m_set.Update;

  m_set.Close;

  }

  ⑹“查询”

  void CCompanyView::OnQuery

  {

  this->UpdateData;

  CString sql;

  sql="select * from comp where num='"+m_chax+"'"; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql); m_set.Requery ;

  if(m_set.IsEOF)

  {

  AfxMessageBox("ERROR");

  return ;

  }

  m_list.DeleteAllItems;

  int i=0;

  while(!m_set.IsEOF)

  {

  m_list.InsertItem(i,m_set.m_num);

  m_list.SetItemText(i,1,m_set.m_sex);

  CString str;

  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;

  }

  2. 购物表设计

  添加了两个结构体

  struct GoodsType

  {

  char * type;

  char * name;

  int price;

  }goods={

  "日常用品","牙刷",2,

  "日常用品","牙膏",3,

  "日常用品","毛巾",5,

因篇幅问题不能全部显示,请点此查看更多更全内容