图书馆管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(综合实验)报告( 2009 -- 2010 年度第 2 学期)
名称:计算机软件技术基础
题目:图书管理系统
院系:信息工程
班级: XXXXXXX
学号: XXXXXXXXX
学生姓名: XXXX
指导教师: XXXX
设计周数: 4
成绩:
日期:2010年5月29日
一、课程设计的目的与要求。
问题描述:
1)图书馆有各种图书一万多册。
2)每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社、
定价和内容简介。
3)借书证记录有借阅者的姓名、所在单位、职业等。
4)凭借书证借书,每次最多能借8本书。借书期限最长为30天。
功能要求:
1)设计并创建数据库与表。
2)实现新进图书的数据录入与编辑、删除等。
3)实现对所有购进图书的分类查询和分类统计。
4)能够按书名、作者等分类查询现有图书的数量。
5)记录借阅者的个人资料和所借图书的书名、书号数据等。
6)对超过期限的借阅或借阅数量超过8本的情况不准许借阅。
7)报表显示查询结果。
开发环境:
操作系统: Windows9.x 、Window2000或以上版本。
数据库管理系统:本地或远程SQL-SERVER2000数据库服务器。
开发工具: Visual c++6.0语言。
我负责的功能:
1)能够按书名、作者等分类查询现有图书。
2)实现对所有购进图书的分类查询和分类统计。
二、设计内容。
1)实现与数据库的连接:
使用ADO 使数据库连入。
2)能够按书名、作者等分类查询现有图书。
void jieshu2::OnBUTTONchaxun()
{
// TODO: Add your control notification handler code here
UpdateData();
m_pRecordset.CreateInstance(__uuidof(Recordset));
//判断书库中是否有该书。进行相应的操作。
if(m_shuming==""&m_zuozhe=="")
{MessageBox("Adding 书名或作者 successfully !","借书");
return;}
else
{
CString strSQL;
strSQL.Format("select * from Book_Info WHERE Book_Name='%s' OR Writer='%s'",m_shuming,m_zuozhe);
m_pRecordset->Open(strSQL.AllocSysString(),
theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic, adLockOptimistic, adCmdText);
// TODO: Add your control notification handler code here
if(m_pRecordset->GetRecordCount()==0)
{MessageBox("库中无书","借书");
m_pRecordset->Close();
return;}
_variant_t theValue;
CString m_strBookID,m_strBookName,m_strWriter, m_strPress,m_neirong;
int m_1Now, m_1Total;
float m_strPrice;
m_pRecordset->MoveFirst();
m_shuchu.Empty();//清空
for(;!m_pRecordset->adoEOF;)
{
theValue=m_pRecordset->GetCollect("Book_ID");
if(theValue.vt!=VT_NULL)
m_strBookID=(char *)_bstr_t(theValue);
theValue=m_pRecordset->GetCollect("Book_Name");
if(theValue.vt!=VT_NULL)
m_strBookName=(char *)_bstr_t(theValue);
theValue=m_pRecordset->GetCollect("Writer");
if(theValue.vt!=VT_NULL)
m_strWriter=(char *)_bstr_t(theValue);
theValue=m_pRecordset->GetCollect("Press");
if(theValue.vt!=VT_NULL)
m_strPress=(char *)_bstr_t(theValue);
theValue=m_pRecordset->GetCollect("home");
if(theValue.vt!=VT_NULL)
m_neirong=(char *)_bstr_t(theValue);
theValue=m_pRecordset->GetCollect("Price");
if(theValue.vt!=VT_NULL)
m_strPrice=theValue.iVal;
theValue=m_pRecordset->GetCollect("Now_Amount");
if(theValue.vt!=VT_NULL)
m_1Now=theValue.iVal;
theValue=m_pRecordset->GetCollect("Total_Amount");
if(theValue.vt!=VT_NULL)
m_1Total=theValue.iVal;
CString str;
str.Format("'%s' '%s' '%s' '%s' '%s' '%f' 现有'%d' '%d' \r\n",m_strBookID,m_strBookName,m_strWriter,m_strPress,m_neirong,m_strPrice,m_1Now,m_1Total);
m_shuchu+=str;
m_pRecordset->MoveNext();
}