how much? 更多追问追答 追问 你能给我做出来么 追答 sqlserver可以 其他数据库就算了。 追问 对,就是SQL SERVER 追答 我做好了发截图给你看 不过要预付一定费用 追问 怎么弄 追答 私信说 追问 怎么私信啊 追答 那直接说你的wx或邮箱 本回答被提问者采纳

图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。百图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要度求进行操作,同时形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书专借阅者、图书进行管理和维护,及系统状态的查看、维护并生成催还图书报表。1)图书和读者登记子系统:添加、修改、删除图书和读者信息2)借书属,还书子系统:根据学生的学号,进行借书还书3)超期图书罚款处理子系统4)查询系统:图书借阅者的需求是查询图书馆所存的图书、个人借阅情况5)系统维护:权限的设置 本回答由提问者推荐

可以通过Baidu Hi提示我有时间可能完成你所面临的任务相关的要求也可能提示我ES:\\20CD5B4F15218B905DD19AE48F802AD6交易提醒:预付定金是诈骗 追问 ? 追答 联系方式见个人资料 本回答由网友推荐

书book表:编号b_id,名称b_name,是否借出zdb_state,借阅人s_id;借阅记录表record:r_id,b_id,s_id,r_state,r_time;用户版表s:s_id,b_id(借书一般有本数限权制,可借多少本),b_sate;

可以使用Baiduhi联系我有时间能够处理你所遇到的工作类似的要求也能够联系我ES:\\FFB0DE4F21064D1994A63FD159BA5D28 本回答由网友推荐

#include <string.h> #include <iostream.h> class Book{ // 书籍基类 protected: char Title[40]; // 书名 long Code; // 条码 int Type; // 0表示书,1表示杂志 public: Book(); Book(char *title,long code); void SetCode(long code){ Code = code; } void SetTitle(char* tl){ strcpy(Title,tl); } void SetType(bool type){Type = type; } int GetType(){ return Type; } long GetCode(){ return Code;} virtual void Show(); // 显示书的信息 friend ostream& operator<<(ostream& , Book&); // 重载插入运算符 friend istream& operator>>(istream& is, Book&); // 重载提取运算符 Book *Next; // 为创建每个读者所借书链表而定义指针 }; class Item :public Book{ //书的款目e79fa5e98193e4b893e5b19e31333236613436 // char Title[40]; // 书名 char Author[20]; // 著者名 char IndexCode[10]; // 分类号 // long Code; // 条码 public: Item(); Item(char *author,char *title,char *index,int code); Item(Item &); void SetAuthor(char*); void SetIndexCode(char*); virtual void Show(); // 显示书的信息 friend ostream& operator<<(ostream& os, Item&); // 重载插入运算符 friend istream& operator>>(istream& is, Item&); // 重载提取运算符 public: }; class Magazine:public Book { //杂志类 int Volume; enum LANG {CHINESE=1,ENGLISH} Lang; // 枚举变量,确定语言类别 public: Magazine():Book(){Volume = 0; Lang = CHINESE; Type = 1; } Magazine(char *title,int vol,LANG lang,int code); Magazine(Magazine&); void SetVolume(int vol){Volume = vol;} void SetLang(int lang){Lang = (LANG)lang;} virtual void Show(); // 显示杂志的信息 friend ostream& operator<<(ostream& os, Magazine&); // 重载插入运算符 friend istream& operator>>(istream& is, Magazine&); // 重载提取运算符 }; class Reader{ // 读者信息类 char Name[20]; // 姓名 char Position[20]; // 职务 int Age; // 年龄 long Code; // 借书证号 Book* items; // 所借书链表 public: Reader(); Reader(char *name,char *posi,int age,int code); // Reader(Reader&); ~Reader(); long GetCode(){return Code;} void SetName(char*); void SetPosition(char*); void SetAge(int); void SetCode(long); void AddBook(Item); // 添加所借书 void AddBook(Magazine); // 添加所借杂志 void DelBook(Book it); // 还书后减少所借书 void ShowBooks(); // 显示所借书 void Show(); // 显示读者信息 friend ostream& operator<<(ostream& os, Reader&); // 重载插入运算符 friend istream& operator>>(istream& is, Reader&); // 重载提取运算符 public: int Counter; //计数器,统计所借书数目 }; class Manager{ // 管理员类 char Name[20]; // 姓名 int Age; // 年龄 int Code; // 工号 friend class Library; // 将图书馆类声明为友元 public: Manager(){} Manager(char*,int,int); long GetCode(){ return Code;} void Show(); friend ostream& operator<<(ostream& os, Manager&); // 重载插入运算符 friend istream& operator>>(istream& is, Manager&); // 重载提取运算符 }; class Loan { // 借阅信息类 int Type; // 0表示书,1表示杂志 Item item; // 借阅书 Magazine mag; // 借阅杂志 Reader reader; // 借阅者 Manager manager; // 借书操作员 int Code; friend class Library; // 将图书馆类声明为友元 public: Loan(){ } Loan(Loan & l); int GetCode(){ return Code;} void Show(); friend ostream& operator<<(ostream& os, Loan&); // 重载插入运算符 friend istream& operator>>(istream& is, Loan&); // 重载提取运算符 }; 、、、、、、、、、、、、、、、、、、、、、、、 #include<iostream.h> #include<string.h> class Reader; template<typename T> class DblList; template<typename T> class DblNode{ public: T Info;//数据域 DblNode<T> *llink,*rlink; //前驱(左链)、后继(右链)指针 public: DblNode(T data);//一般结点 DblNode();//头结点 T GetInfo(){return Info;}; friend class DblList<T>; friend class Library; }; template<typename T>class DblList{ DblNode<T> *head,*current; public: DblList(); ~DblList(); void Insert(const T& data); DblNode<T>* Remove(DblNode<T>* p); void Print(); int Length();//计算链表长度 DblNode<T> *Find(T data);//搜索数据与定值相同的结点 DblNode<T>* Find(int data);//按某个关键字查找 void MakeEmpty(); //清空链表 void ShowList(); //显示链表各结点 friend istream& operator>>(istream&, DblList<typename T>&); // 重载输入流运算符 friend ostream& operator<<(ostream& os, DblList<typename T>& dlist); // 重载输出流运算符 friend class Library; //其它操作 }; template<typename T> DblNode<T>::DblNode(){ llink=rlink=NULL; } template<typename T> DblNode<T>::DblNode(T data){ info=data; llink=NULL; rlink=NULL; } template<typename T> DblList<T>::DblList(){//建立表头结点 head=new DblNode<T>(); head->rlink=head->llink=head; current=NULL; } template<typename T> DblList<T>::~DblList(){ MakeEmpty();//清空链表 delete head; } template<typename T> void DblList<T>::MakeEmpty(){ DblNode<T> *tempP; while(head->rlink!=head){ tempP=head->rlink; head->rlink=tempP->rlink;//把头结点后的第一个节点从链中脱离 tempP->rlink->llink=head;//处理左指针 delete tempP; //删除(释放)脱离下来的结点 } current=NULL; //current指针恢复 } template<typename T> void DblList<T>::Insert(const T & data){//新节点在链尾 current=new DblNode<T>; current->Info=data; current->rlink=head;//注意次序 current->llink=head->llink; head->llink->rlink=current; head->llink=current;//最后做 } template<typename T> DblNode<T>* DblList<T>::Remove(DblNode<T>* p){ // 删除结点 current=head->rlink; while(current!=head&¤t!=p) current=current->rlink; if(current==head) current=NULL; else{//结点摘下 p->llink->rlink=p->rlink; p->rlink->llink=p->llink; p->rlink=p->llink=NULL; } return current; } template<typename T> DblNode<T>* DblList<T>::Find(T data){ // 按结点查找 current=head->rlink; while(current!=head&¤t->Info!=data) current=current->rlink; if(current==head) current=NULL; return current; } template<typename T> DblNode<T>* DblList<T>::Find(int data){ // 按数据值查找结点 current=head->rlink; int temp =current->Info.GetCode(); while(current!=head&&temp!=data){ current=current->rlink; temp = current->Info.GetCode(); } if(current==head) current=NULL; return current; } template<typename T> void DblList<T>::Print(){ // 输出链表 current=head->rlink; while(current!=head){ cout<<current->Info<<'\t'; current=current->rlink; } cout<<endl; } template<typename T> int DblList<T>::Length(){ // 取得链表长度 int count=0; current=head->rlink; while(current!=head){ count++; current=current->rlink; } return count; } template<typename T> void DblList<T>::ShowList(){ // 输出链表各结点 int count=0; current=head->rlink; while(current!=head){ current->GetInfo().Show(); current=current->rlink; } return ; } template<typename T> istream& operator>>(istream& is, DblList<typename T> &dlist){ int len; T tt; // 定义局部变量读入一个结点 is>>len; for(int i= 0 ;i<len; i++){ // 循环读入链表各结点 is>>tt; dlist.Insert(tt); } return is; } template<typename T> ostream& operator<<(ostream& os, DblList<typename T> &dlist){ DblNode<T> *tempP; int len = dlist.Length(); os<<len<<' '; tempP=dlist.head->rlink; while(tempP!=dlist.head){ // 循环输出链表各结点 os<<tempP->Info; tempP = tempP->rlink; } return os; } #include "class.h" #include "dblist.h" #include <fstream.h> class Library{ // 封装图书馆流通业务的类 DblList<Item> item; // 在馆图书链表 DblList<Magazine> mag; // 在馆杂志链表 DblList<Reader> reader; // 读者链表 DblList<Loan> loan; // 借阅信息链表 DblList<Manager> manager; // 管理员信息链表 int itemNum; // 记录在馆图书数目 int magNum; // 记录在馆杂志数目 int readerNum; // 记录读者数目 int loanNum; // 记录借阅信息数目 int managerNum; // 记录管理员数目 ofstream itemFileOut; // 文件流对象,保存图书馆书籍数据 ifstream itemFileIn; // 文件流对象,读入图书馆书籍数据 ofstream magFileOut; // 文件流对象,保存图书馆杂志数据 ifstream magFileIn; // 文件流对象,读入图书馆杂志数据 ofstream readerFileOut; // 文件流对象,保存图书馆读者数据 ifstream readerFileIn; // 文件流对象,读入图书馆读者数据 ofstream loanFileOut; // 文件流对象,保存图书馆借阅信息数据 ifstream loanFileIn; // 文件流对象,读入图书馆借阅信息 ofstream managerFileOut; // 文件流对象,保存图书馆管理员数据 ifstream managerFileIn; // 文件流对象,读入图书馆管理员数据 public: Library(); // 构造函数 ~Library(); //析构函数 void Run(); // 图书馆类的运行函数 void CreateBibliotheca(); // 创建书目 void CreateReader(); // 创建读者库 void CreateManager(); // 创建管理员信息 int ShowMainMenu(); // 显示主菜单函数 void Borrow(); // 借书操作 void Return(); // 还书操作 void Require(); // 查询操作 void SaveInfo(); // 保存图书馆信息 void OpenInfo(); // 读入图书馆信息 }; 本回答由提问者推荐

目录第一章 系统概述 11.1 系统开发背景和意义 11.2 开发环境 1第二章 系统需求分析 22.1 任务概述 22.2 数据描述(数据流图+数据字典) 22.3 功能需求 62.4性能需求 6第三章 系统总体设计 83.1 新的业务流程 83.2 系统功能模块图 83.3 系统的流程图 9第四章 详细设计 114.1 程序流程图 114.2 程序输入输出描述 134.2.1 主模块 134.2.1 学生管理模块 134.2.2 图书管理模块 134.2.3 借阅管理模块 134.2.4 归还管理模块 134.2.5 管理措施设置模块 134.3 程序接口描述 144.3.1 外部接口 144.3.2 内部接口 144.4 数据库的设计 144.4.1 数据库的逻辑设计 144.4.2 数据库的物理设计 16第五章 编码实现 195.1 程序编码 19第六章 测试分析报告 376.1 测试计划和要点 376.1.1 主模块测试要点 376.1.2 借阅模块测试要点 376.1.3 学生查询模块测试要点 376.1.4 图书查询模块测试要点 386.1.5 图书归还模块测试要点 386.2 测试用例 386.2.1 主模块测试用例 396.2.2 借阅模块测试用例 396.2.3 学生查询模块测试用例 406.2.4 图书查询模块测试用例 406.2.5 图书归还模块测试用例 406.3 测试结果及结论 416.3.1 测试的结果 416.3.2 缺陷分析及改进 426.3.3 测试结论 43总结 44参考文献 45 第一章 系统概述1.1 系统开发背景和意义图书管理是高校内每一个系部或院部都必须切实面对的工作,但一直以来人们使用传统的人工方式管理图书资料。这种方式存在着许多缺点,如效率低、保密性差且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必将增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了很多困难。经过详细的调查,目前我国各类高等学校中有相当一部分单位图书资料管理还停留在人工管理的基础上。这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。图书管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。1.2 开发环境开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下:开发环境:Windows 2000开发工具:Visual Basic 6.0数据库管理系统: SQL Server 2000数据库服务器: SQL Server 2000 桌面引擎第二章 系统需求分析2.1 任务概述经过对我校详细调查,并多次与负责图书管理的老师进行研讨后,加深了对现行图书管理业务的深刻了解,与此同时,将整个图书管理的业务流程抽象描述如下:1.新的图书购进后,分门别类地进行归并并汇总,加以编号。2.新书编号后,上到书架以备学生借阅。3.如某学生需要借阅图书,则在其本人的借阅登记表上进行登记,记录相关借阅信息与借阅日期。4.学生借阅图书后,应及时归还图书,并在本人的借阅登记表上注明还书日期和时间。根据以上调查分析,可以给出其现行业务流程图如图2.1所示。图2.1 现行图书管理业务流程图2.2 数据描述(数据流图+数据字典)经过详细的调查,我们已经清楚了解了现行的业务流程,接下来给出系统的逻辑模型。构造系统逻辑模型的工具是数据流图和数据字典。根据现行图书管理的业务流程,首先把数据流图中的源点和终点都选定为学生,因此可以得到图书管理系统的基本系统模型,如图2.2所示。 图2.2 图书管理系统的基本系统模型根据基本系统模型,对其逐步细化,得到描述逻辑系统细化后的数据流图,如图2.3所示。 图2.3 图书管理系统数据流图(顶层DFD图)对顶层DFD图中的一个加工“学生管理”进行展开,如图2.4。 图2.4 细化后数据流图对顶层DFD图中的一个加工“图书管理”进行展开,如图2.5。 图2.5 “图书管理”展开对第1层DFD图中的加工进一步进行展开,如图2.6。 (1) (2)图2.6 进一步细化数据流图有了系统的数据流图后,还有相当多的数据信息如图书、借阅、归还等信息需要进一步描述,这就是需要定义数据字典,才能把现有的系统描述清楚。图2.7列出了系统的主要数据字典。图2.7 系统主要数据字典2.3 功能需求经过以上详细的用户调查,在现行业务流程和数据分析的基础上,基本可以确定系统设计必须达到的目标。 以下是图书管理系统必须具备的功能:1.新进图书的登记功能:对于购进的新书,系统必须具备图书信息资料的录入功能。2.图书的查询修改功能:当图书资料发生变化,如图书丢失或有错误信息输入时,则应能够及时对数据进行修改和补充。3.借阅的登记,归还的登记功能:系统的主要功能之一,供本校学生借阅图书、归还图书,并进行登记。4.学生信息的增加、删除和修改功能:系统主要功能之一,建立学生信息,并对其进行维护。2.4性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求:1、系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。2、系统的开放性和系统的可扩充性图书管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3、系统的易用性和易维护性图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。4、系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。5、系统的先进性目前计算系统的技术发展相当快,做为图书管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发7a64e78988e69d8331333262363062展前途的产品。6、系统的响应速度图书管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。第三章 系统总体设计3.1 新的业务流程根据需求分析的得到的现行业务处理流程,在用户反复研究后,首先确定目标系统的业务流程,其处理流程如图3.1。图3.1 图书管理系统的业务流程针对新的业务流程,现具体描述其功能如下:1.用户登录:系统对用户合法性进行检查。2.图书入库:对新购进的图书分类进行编号,并把图书基本信息录入计算机。3.图书借阅:对已入库的图书,学生可以借阅,并进行登记。4.图书归还:对学生已归还的图书进行归还登记。 5.信息查询:即对所有图书的借阅情况,或学生的基本情况和借阅情况进行查询。6.管理措施:定义系统规定的借阅图书超期时间、超期处罚办法和丢失赔偿办法。3.2 系统功能模块图依据需求分析阶段得到的数据流图,采用软件工程中软件设计的概念和原理,与用户成分协商后,在保证系统基本功能要求的前提下,结合系统新的业务流程确定系统必须具备的所有功能,由此给出图书管理系统的系统功能模块图如图3.2所示。图3.2 图书管理系统功能模块图3.3 系统的流程图依据软件工程的基本原理,综合以上分析给出系统流程图如图3.4所示。图3.4 系统流程图第四章 详细设计4.1 程序流程图依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设计得到的各个模块详细的加以描述。由于本系统采用支持面向对象的Visual Basic 6.0作为开发工具,而Visual Basic 6.0采用事件驱动的编程机制,所以在此给出软件系统的主程序流程图,如图4.1所示。 图4.1 主程序流程图根据以上主程序的流程图,我们可以得出下面的关于各个模块的程序流程图,如图4.2所示。 图4.2 程序流程图4.2 程序输入输出描述4.2.1 主模块1.输入项目:操作系统传递至的各种消息以及用户的输入数据。2.输出项目:用户界面显示。4.2.1 学生管理模块1.输入项目:与学生管理操作子对话框有关的用户输入及系统消息。2.输出项目:操作结果显示。4.2.2 图书管理模块1.输入项目:用户口令。2.输出项目:相应的界面。4.2.3 借阅管理模块1.输入项目:学生学号、图书编号。2.输出项目:学生信息、相关借书信息。4.2.4 归还管理模块1.输入项目:图书编号。2.输出项目:相关学生信息。4.2.5 管理措施设置模块1.输入项目:用户的输入。2.输出项目:根据用户的输入显示相应的对话框。4.3 程序接口描述4.3.1 外部接口按Windows应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。4.3.2 内部接口模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。4.4 数据库的设计4.4.1 数据库的逻辑设计在需求分析阶段已完成该系统所有的数据分析。根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。下面给出概念结构设计得E-R图如图4.3所示。 ① ② ③(1) 分E-R图 (2) 总E-R图图4.3 概念结构设计E-R图实体:图书(图书编号,书名,作者,出版社,定价,图书类别,图书ISBN号,图书数量) 学生(学生学号,学生姓名,性别,入校时间,毕业时间) 管理员(编号,名字,密码,加入时间)联系:学生管理(图书管理员,学生姓名,学生密码) 图书管理(图书管理员,借阅号,归还号) 查询(图书编号,借阅证号,图书管理员,学生)4.4.2 数据库的物理设计依据数据库的原理,并结合以上E-R图,经过转化,即可进行数据库的物理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性,同时考虑题目的时间,该系统的数据库采用Microsoft SQL Server 2000。本系统决定采用一个数据库,在其下创建5个数据表,其结构分别如下:1.图书信息表(tBook),其字段列表如表4-1所示。表4-1 图书信息表的结构序号 字段名称 字段说明 类型 位数 属性 备注1 cBooksID 图书编号 文本 7 必须非空 2 cBooksName 图书名称 文本 20 必须非空 3 cBooksISBN 图书ISBN号 文本 15 可为空 4 cBooksAuthor 图书作者 文本 10 可为空 5 cBooksPublisher 图书出版社 文本 20 可为空 6 cBooksType 图书类型 文本 16 可为空 7 smBooksPrice 图书价格 货币 可为空 8 iBooksStoreQuan 图书库存量 整数 可为空 9 iBooksLeftQuant 图书副本数量 整数 可为空 10 iBooksTotalQuan 图书总数 整数 可为空 2.图书借阅登记表(tBorrow),其字段列表如表4-2所示。表4-2 图书借阅登记表的结构序号 字段名称 字段说明 类型 位数 属性 备注1 cBorrowID 借书编号 文本 6 必须非空 2 cVipID 学生编号 文本 6 必须非空 3 cBooksID 图书编号 文本 7 必须非空 4 cBorrwTime 借书时间 时间日期 可为空 5 cReturnTime 还书时间 时间日期 可为空 6 cReturn 是否归还 文本 1 可为空 3.图书归还登记表(tReturn),其字段列表如表4-3所示。表4-3 图书归还登记表的结构序号 字段名称 字段说明 类型 位数 属性 备注1 cBorrowID 借书编号 文本 6 必须非空 2 cVipID 学生编号 文本 6 必须非空 3 cBooksID 图书编号 文本 7 必须非空 4 cBorrwTime 借书时间 时间日期 可为空 5 cReturnTime 还书时间 时间日期 必须非空 6 cReturn 是否归还 文本 1 必须非空 7 cNoReturn 归还异常 文本 8 可为空 4.学生信息表(tVip),其字段列表如表4-4所示。表4-4 学生信息表的结构序号 字段名称 字段说明 类型 位数 属性 备注1 cVipID 学生编号 文本 6 必须非空 2 cVipName 学生姓名 文本 10 必须非空 4 cVipSex 学生性别 文本 1 可为空 5 vipAddTime 学生入学时间 时间日期 必须非空 6 vipEndTime 学生毕业时间 时间日期 必须非空 5.管理员信息表(tOperators),其字段列表如表4-5所示。表4-5 管理员信息表的结构序号 字段名称 字段说明 类型 位数 属性 备注1 cOperatorID 管理员编号 文本 5 必须非空 2 cOperatorName 管理员姓名 文本 10 必须非空 3 cOperatorPassword 密码 文本 6 必须非空 4 cOperatorAddTime 管理员加入时间 时间日期 10 必须非空 把积分给我,我就把后半部给你。第五章 编码实现5.1 程序编码登陆界面如图5.1所示。

网上书店(图书)管理系统的设计与实现(HTML5,SSH,MySQL)(含录像)