精华内容
下载资源
问答
  • 公司常用表格模板系列-员工借书办法.doc
  • 借书管理系统

    2015-01-08 22:16:50
    我们今天主要干了就是自己独立完成一个项目,我的项目就是借书管理系统,先从数据库开始,用代码完成表的构建,和往里面进行插值,还有我一共建立了用户表,管理员表,图书表,借书表,4个表格,然后在表格里插入...

            我们今天主要干了就是自己独立完成一个项目,我的项目就是借书管理系统,先从数据库开始,用代码完成表的构建,和往里面进行插值,还有我一共建立了用户表,管理员表,图书表,借书表,4个表格,然后在表格里插入数据信息,最后完成多表连接,实现多表的查询功能。这是在数据库里,要操作的sql语句,代码如下:

     

    1.创建数据库

     

    create database student 

     

    use student 

     

    2.创建表

     

    create table people(

    id int identity(101,1) primary key,

    name varchar(20) not null,

    password varchar(10)

     

    )

     

     

    create table books(

    id int identity(101,1) primary key,

    name varchar(20) not null,

     

    )

     

    create table admin(

    id int identity(101,1) primary key,

    name varchar(10) not null

    )

     

    create table borrow(

    id int identity(101,1) primary key,

    uid int,

    bid int,

    )

     

    3.查询表格

     

    select * from books 

    select * from people 

     

     

    4.插入数据:

     

    insert into people (name,password  ) values('张三','123')

    insert into people (name,password  ) values('张四','456')

    insert into people (name,password  ) values('张五','789')

     

    insert into books (name) values('百科全书')

     

    insert into books (name) values('十万个为什么')

     

    insert into books (name) values('动物世界')

     

    5.多表连接

     

    select   p.name,b.name,bo.id  from  borrow  bo

            inner join people  p on p .id= bo.uid 

            inner join  books b on b.id=  bo.bid 

     

           下面就是在vs平台上运行的过程,先是建个工程,然后再工程里,分为4个模块有管理员模块,用户模块,图书模块,借书模块,分别在这4个模块里写它们要完成的方法,例如管理员的登录,注册,方法;用户的登录,注册方法;还有用户对图书的增删查改方法,管理员对图书删查方法,用户对借书的增删查改方法,管理员对借书的增删查改方法,在图书模块,是图书的方法例如图书可以增删查该方法;借书模块,是借书的增删查改4个方法,

            还有两个类一个DB连接数据的信息接口,还有一个Text的类是完成测试方法的调用和实现,代码分别如下:

     声明:此篇文档时来自于【狗刨学习网】社区-unity极致学院,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。

    6.DB接口


     [code]public static class DB


        {


            static SqlConnection con;


            public static SqlConnection count()


            {


                SqlConnection con = new SqlConnection("server=.;database=student;Trusted_Connection=SSPI");


                return con;


            }


     


            public static  void   close(SqlConnection con, SqlDataReader reader) 


            {


                con.Close();


                reader .Close ();


            


            }


            public static  void close(SqlConnection con) 


            {


                con.Close();


               


            }


    }[/code]


    7.Text测试


            写上你所有要实现的模块方法,例如用户的登录注册方法,学生的登录方法,图书的购买方法,对用户的操作方法,对图书的操作方法,对借书的操作方法,对用户密码的操作方法,对管理员密码操作密码,还有主函数的调用欢迎界面方法,在往里面添加你要实现的内容,进行判断,循环,调用,还有集合,泛型的的使用,这样一个基本的小项目算是完成了。



    展开全文
  • /*  ... * All rights reserved.... * 作 者:耿娜  * 完成日期:2012 年 11月13日  ...* 问题描述:通过穷尽式列表求借书的种类 * 程序输出:表格 * 问题分析:略 * 算法设计:略 */

    /*   

    * Copyright (c) 2012, 烟台大学计算机学院   

    * All rights reserved.   

    * 作    者:耿娜  

    * 完成日期:2012 年  11月13日   

    * 版 本 号:v1.0   

    *

    * 输入描述:略

    * 问题描述:通过穷尽式列表求借书的种类

    * 程序输出:表格

    * 问题分析:略

    * 算法设计:略

    */     

    #include<iostream>
    using namespace std;
    int main()
    {
    	int a,b,c,count=0;
    	for(a=1;a<=5;a++)
    		for(b=1;b<=5;b++)
    			for(c=1;c<=5;c++)
    				if(a!=b&&b!=c&&a!=c)
    				{
    					++count;
    					cout<<count<<":"<<a<<","<<b<<","<<c<<endl;
    				}
    return 0;
    }

    展开全文
  • 图书管理系统(三)——借书还书需求分析视图借书还书 需求分析 若用户有超期未归还书籍...分析完上面的需求后,我们发现,在用户端需要有一个表格用户显示“我借的书”,其中的字段包括了书籍的基本信息、借书时间、

    图书管理系统(三)——借书还书

    本项目以及配套数据库已经上传到CSDN,大家可根据需要下载:

    1. 项目
      https://download.csdn.net/download/qq_41544842/14934412
    2. 数据库
      https://download.csdn.net/download/qq_41544842/14934435

    需求分析

    1. 若用户有超期未归还书籍的行为则不准再借书
    2. 用户要借的这本书需在馆
    3. 假定一条数据是一本书(也可以加一个字段用于描述书本的数量,这里我简略操作了)
    4. 用户还的书,必须是TA已经借出去的书
    5. 如果还书时发现有超期行为,则需要提示用户超期了多少天

    上面说了那么多,说白了就是要符合实际情况,满足数据库的基本性质。大家也可以自行增加更多需求。
    分析完上面的需求后,我们发现,在用户端需要有一个表格用户显示“我借的书”,其中的字段包括了书籍的基本信息、借书时间、应归时间、是否归还,用户id这些字段。而在我们的数据库设计中,并没有一个表格完全包含了这些字段,我们要怎么显示呢?
    使用视图可以帮助我们解决这个问题。

    视图

    1. 在navicat中右击视图,点击新建。
      在这里插入图片描述
    2. 看到这个“视图创建工具”,打开以后,就可以勾选我们所需要的字段了,注意这里不能勾选表的主键。同时要特别注意你的勾选顺序,生成的视图中的字段顺序就是勾选顺序。如果发现顺序有误,还可以通过下面框进行拖动调整。我将这个视图命名为mybooks。
      在这里插入图片描述

    借书

    1. 在程序启动时首先检查数据库里的借书记录,是否随着时间的推移出现了超期未归还的行为。
    void checkwarning1(){
        //在程序启动时检查,随着时间的推移,用户是否有超期记录,如果有,则将warning字段设置为yes
        QSqlQuery query;
        QString sql=QString("select user_id from userbooks where is_return='否' and return_date-now()<0");//未归还且超期了
        query.exec(sql);
        if(query.size()!=0){//存在超期的用户
            while(query.next()){
                QString sql1=QString("update users set warning='yes' where id=%0").arg(query.value(0).toInt());//将这些用户的warning改为yes
                query.exec(sql1);
            }
        }
    
    }
    

    我们就只需要把对应的数据进行修改,其他的东西都是一环扣一环。把上面这个checkwarning1()放到main函数里面,就可以实现在程序启动时检查用户超期行为这个功能了。

    1. 借书成功的话,userbooks中需要增加一条信息,books中对应的书籍需要更改状态。

    参考界面:
    用户登录进去将看到以下界面,查询部分和管理员端是差不多的,可以直接套用。至于其他按钮的实现方法,都很简单,看了前两章后就可以掌握。
    这个界面需要新建ui文件,我命名为“userinterface”
    在这里插入图片描述
    点击“我的”按钮,进入个人空间,下面表中显示的就是“我借的书”。
    这个界面需要新建ui文件,我命名为“myinformation”
    在这里插入图片描述

    void myinformation::on_borrowButton_clicked()//对应借书按钮
    {
        ui->label_9->clear();
        QString id=ui->lineEdit->text();
        int int_id=id.toInt();
        QSqlQuery query;
        QString status;
        if(isid(int_id)){//判断用户输入的确实是个数据库中存在的id
          QString sql0=QString("select * from books where id=%0").arg(int_id);
          query.exec(sql0);
          while(query.next())
          {
            status=query.value(7).toString();
          }//找到该书的状态
            if(status=="未借出"){
                QString sql=QString("select warning from users where number='%1'").arg(login::number);
                //和上面的checkwarning1扣起来了,这里就在检查warning的情况
                query.exec(sql);
                while(query.next())
                {
                    if(query.value(0).toString()!="yes"){
                        QString sql1=QString("insert into userbooks(user_id,book_id,borrow_date,return_date,is_return) values(%1,%2,now(),date_add(now(),interval 1 month),'否')").arg(login::id).arg(int_id);
                        //往userbooks中插入一条记录,注意日期的用户,这里设置归还书籍的时间间隔为一个月
                        QString sql2=QString("update books set status='已借出' where id=%0").arg(int_id);
                        //修改书籍的状态
                        if(query.exec(sql1)&&query.exec(sql2)){//执行上面这些sql语句
                            model->submitAll();
                            model->setTable("mybooks");//显示我们更改新建的视图
                            setTitle();
                            model->select();
                            model->removeColumn(10);
                            QMessageBox::information(NULL,"借书成功","借书成功!");
                        }
                        else{
                            QMessageBox::warning(NULL,"数据库出错","数据库出错!");
                        }
                    }
                    else{
                        QMessageBox::warning(NULL,"借书失败","您有超期的图书还未归还,不能借书!");
                    }
                }
            }
            else{
                QMessageBox::warning(NULL,"借书失败","该图书已被借出!");
            }
        }
        else{
            QMessageBox::warning(NULL,"借书失败","填写的id不符合规定!");
        }
    }
    //检查输入id确实是存在于数据库里面
    bool myinformation::isid(int id)
    {
        bool res=false;
        QString sql=QString("select id from books");
        QSqlQuery query;
        query.exec(sql);
        while(query.next())
        {
            if(id==query.value(0).toInt()){
                res= true;
                break;
            }
        }
        return res;
    }
    

    还书

    1. 还书后,userbooks中的记录并不会被删除,只需将其中is_return字段修改为‘是’。书籍的状态需要修改。用户的warning状态可能会被修改。
    void myinformation::on_returnButton_clicked()
    {
        QString id=ui->lineEdit_2->text();
        int int_id=id.toInt();//书的id
        QSqlQuery query;
        QString sql=QString("update userbooks set is_return='是' where book_id=%2").arg(int_id);
        QString sql2=QString("update books set status='未借出' where id=%0").arg(int_id);
        if(isid2(int_id)){//检查输入的合理性
            QDateTime current_date_time =QDateTime::currentDateTime();
            int timeT = current_date_time.toTime_t();
            int ndaysec = 24*60*60;
            QString sql3=QString("select * from userbooks where book_id=%2 and return_date-now()<0 and is_return='否'").arg(int_id);
            //找出即将操作的那一条记录
            query.exec(sql3);
            while(query.next())
            {
                if(query.size()==1){
                    QDateTime return_date=query.value(4).toDateTime();//获取应归还日期,算出超期天数
                    int timeT2=return_date.toTime_t();
                    int day=(timeT-timeT2)/(ndaysec)+((timeT-timeT2)%(ndaysec)+(ndaysec-1))/(ndaysec)-1;
                    QString str_day=QString::number(day);
                    ui->label_9->setText("本书归还时间已超期"+str_day+"天!");
                    break;
                }
            }
            if(query.exec(sql)&&query.exec(sql2)){
                checkwarning2();//在还书后进行的check
                model->submitAll();
                model->setTable("mybooks");
                setTitle();
                model->select();
                model->removeColumn(10);
                QMessageBox::information(NULL,"还书成功","还书成功!");
            }
            else
                QMessageBox::warning(NULL,"数据库出错","数据库出错!");
        }
        else{
            QMessageBox::warning(NULL,"还书失败","所填写的id不符合规定!");
        }
    }
    
    void myinformation::checkwarning2(){
        //在用户还书完成后检查,看此时,用户的warning是否将改动为no
        QSqlQuery query;
        QString sql=QString("select * from userbooks where user_id=%1 and is_return='否' and return_date-now()<0").arg(login::id);
        query.exec(sql);
        if(query.size()==0){
            QString sql1=QString("update users set warning ='no' where id=%0").arg(login::id);
            query.exec(sql1);
        }
    }
    
    //判断用户输入的id确实是TA借出的书,并且还没有归还
    bool myinformation::isid2(int id)
    {
        bool res=false;
        QString sql=QString("select book_id from userbooks where user_id=%1 and is_return='否'").arg(login::id);
        QSqlQuery query;
        query.exec(sql);
        while(query.next()){
            if(id==query.value(0).toInt()){
                res= true;
                break;
            }
        }
        return res;
    }
    

    至此,我们就实现了用户借书还书的过程。整个系统已经可以跑通。
    当然,系统依然存在很多其他的需求:

    1. 用户要查看、修改自己的个人信息或密码
    2. 注册时对证号和密码有格式要求
    3. 在注册添加学院字段时,使用下拉框的样式
    4. 在管理员添加书籍的“借还状态”等字段时,需要使用下拉框的样式;添加用户的“性别”等字段时,也需要使用下拉框的样式
    5. 表格的形式看着不舒服,特别是当书籍摘要部分很多时看着更不方便,我想要双击这一行就能看到该行数据的详情
    6. 我还想直接在表格中添加按钮来操作这一行
    7. 在用户界面加一个按钮筛选出用户没有还的书
    8. 在用户界面高亮或用红色颜色标出TA没有还的书

      还有很多的需求都可以被提出并且实现,今后的章节我将挑选其中几点进行更新。当然,能看到这里的你,相信已经具备了完成以上功能的能力。有任何问题欢迎评论~ 如果觉得这篇文章有帮到你的话,不妨点个赞哦~
    展开全文
  • 1.就地实例化,表格表格滚动条,有滚动条自动出现抬头,表格model 2.新增窗口,上下调节的输入框,这种输入框中的数据获取方法,输入框部件设置,重置输入框内容 注意与主窗口通用一个BookManager……刚开始就...

    1.就地实例化,表格,表格滚动条,有滚动条自动出现抬头,表格model 2.新增窗口,上下调节的输入框,这种输入框中的数据获取方法,输入框部件设置,重置输入框内容

    注意与主窗口通用一个BookManager……刚开始就因为在此窗口new了一个manager弄死加不进去……还不会报错…………

    1 的代码先是主窗口   可以显示所有藏书 按钮2个 新增和删除  只做好了新增的

    package com.lovo.ui;
    
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.List;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.UIManager;
    import javax.swing.UnsupportedLookAndFeelException;
    import javax.swing.table.DefaultTableModel;
    
    import com.lovo.BookManager.Book;
    import com.lovo.BookManager.BookManager;
    /**
     * 租赁图书查看界面
     * @author Abe
     */
    @SuppressWarnings("serial")
    public class MyTable extends JFrame {
    	private BookManager manager = new BookManager();
    	private JTable bookTabel;
    	private String[] columnNames = { "编号", "书名", "价格", "状态", "借出日期", "借出次数" };
    
    	private JPanel myPanel = new JPanel();
    	private JButton newButton;
    	private JButton resectButton;
    	
    	/**
    	 * 构造器,初始化
    	 */
    	public MyTable() {
    		this.setSize(600, 400);
    		this.setResizable(false);
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		this.setLocationRelativeTo(null);
    
    		initComponents();
    	}
    	
    	/**
    	 * 方法:获得该类使用的manager
    	 * @return
    	 */
    	public BookManager getBookManager(){
    		return manager;
    	}
    	
    	/**
    	 * 方法:获得manager中说有书的属性,保存在Object[][]中
    	 */
    	public void refreshTableModel(){
    		if (bookTabel != null) {
    			List<Book> list = manager.findAll();
    			Object[][] date = new Object[list.size()][columnNames.length];
    			for (int i = 0; i < list.size(); i++) {
    				Book temp = list.get(i);
    				date[i][0] = temp.getIsbn();
    				date[i][1] = temp.getName();
    				date[i][2] = temp.getPrice();
    				date[i][3] = temp.isLended() ? "借出" : "未借出";
    				date[i][4] = temp.getLendDate();
    				date[i][5] = temp.getCounter();
    			}
    			// 创造一个匿名内部类 就地实例化里面的方法 来设置表格的模型 并将数据放入表格
    			bookTabel.setModel(new DefaultTableModel(date, columnNames) {
    				@Override
    				public boolean isCellEditable(int row, int colum) {
    					return false;
    				}
    			});
    		}
    	}
    	
    	
    
    	public void initComponents() {
    		bookTabel = new JTable();// JTable 表格
    		bookTabel.getTableHeader().setReorderingAllowed(false);// 设置表头不允许重新排列
    		
    		refreshTableModel();
    
    		JScrollPane jsp = new JScrollPane(bookTabel);	//不是新增一个这货,直接在new里添加要修饰的表格
    														//将表格加上滚动条 保存在jsp
    		this.add(jsp, BorderLayout.CENTER);				//将jsp放入 窗口中间区域
    
    		newButton = new JButton("新增");
    		newButton.addActionListener(new ActionListener() {	//就地实例化的监听器
    		@Override
    			public void actionPerformed(ActionEvent e) {
    				if(e.getSource() == newButton){
    					new AddBookDialog(MyTable.this).setVisible(true);	//把自己传给新增窗口,新增窗口设置成可见
    				}
    			}
    		});
    		resectButton = new JButton("删除");
    		
    		myPanel.add(newButton);
    		myPanel.add(resectButton);
    		this.add(myPanel, BorderLayout.SOUTH);
    	}
    	
    	//main方法 主窗口可见 设置UI为和现在的系统一样  throws为 系统自动生成……
    	public static void main(String[] args) throws ClassNotFoundException,
    			InstantiationException, IllegalAccessException,
    			UnsupportedLookAndFeelException {
    		UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    		new MyTable().setVisible(true);
    	}
    }

    2.新增窗口的代码

    package com.lovo.ui;
    
    import java.awt.Component;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JLabel;
    import javax.swing.JSpinner;
    import javax.swing.JTextField;
    import javax.swing.SpinnerModel;
    import javax.swing.SpinnerNumberModel;
    import javax.swing.UIManager;
    
    import com.lovo.BookManager.Book;
    /**
     * 类:新增窗口
     * @author Abe
     */
    @SuppressWarnings("serial")
    public class AddBookDialog extends JDialog { //用JDialog不用JFrame 可以设置Modal固定焦点在此窗口
    	private JLabel[] hint = new JLabel[3];
    	private static String[] str = {"编号","书名","日租金"};
    	private JTextField newIsdn;
    	private JTextField newName;
    	private JSpinner newPrice;
    	private JButton addButton;
    	private JButton resetButton;
    	private MyTable table;
    	
    	/**
    	 * 构造器
    	 * @param table
    	 */
    	public AddBookDialog(MyTable table){
    		this.table = table;
    		this.setModal(true);
    		this.setSize(400,400);
    		this.setResizable(false);
    		this.setLocationRelativeTo(null);
    		this.setLayout(null);
    		this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    		
    		inisComponents();
    	}
    	
    	/**
    	 * 方法:初始化构件 
    	 */
    	private void inisComponents() {
    		for(int i = 0 ; i < hint.length ; i++){
    			hint[i] = new JLabel(str[i]);
    			hint[i].setBounds(50 , 100 + 60 * i , 80 , 50);
    			this.add(hint[i]);
    		}
    		
    		newIsdn = new JTextField();
    		newIsdn.setBounds(130, 110, 200, 30);
    		this.add(newIsdn);
    		
    		newName = new JTextField();
    		newName.setBounds(130, 170, 200, 30);
    		this.add(newName);
    		
    		SpinnerModel sModel = new SpinnerNumberModel(1.0, 0.1, 5.0, 0.1);
    		newPrice = new JSpinner(sModel);
    		newPrice.setBounds(130, 230, 200,30);
    		this.add(newPrice);
    		
    		addButton = new JButton("新增");
    		addButton.setBounds(100, 300, 70, 30);
    		addButton.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				Object obj = e.getSource();
    				if(obj == addButton){				//价格调整标签
    					String isdn = newIsdn.getText();
    					String name = newName.getText();
    					String pricestr = String.format("%.1f", newPrice.getModel().getValue());
    					double price =Double.parseDouble(pricestr);
    					table.getBookManager().add(new Book(isdn,name,price));
    					table.refreshTableModel();
    					
    					AddBookDialog.this.dispose();
    				}
    			}
    		});
    		this.add(addButton);
    		
    		resetButton = new JButton("重置");
    		resetButton.setBounds(230, 300, 70, 30);
    		resetButton.addActionListener(new ActionListener() {	//就地实例化 按键触发事件 重置
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				Object obj = e.getSource();
    				if(obj == resetButton){
    					for(Component c : getContentPane().getComponents()) { 	//最后放工具包
    						com.lovo.MyUtil.resetComponent(c);					//这里调用了重置工具
    					}
    				}
    			}
    		});
    		this.add(resetButton);
    		
    		//统一设置格式 容器内还有容器的,不会改变字体
    		Font font = new Font("微软雅黑", Font.PLAIN, 14);
    		for (Component c : this.getContentPane().getComponents()) {
    			c.setFont(font);
    		}
    	}
    
    	public static void main(String[] args)  throws Exception{
    		UIManager.setInstalledLookAndFeels(UIManager.getInstalledLookAndFeels());
    		new AddBookDialog(null).setVisible(true);
    	}
    }

    3.WOOO 工具包

    package com.lovo;
    
    import java.awt.Component;
    
    import javax.swing.JCheckBox;
    import javax.swing.JComboBox;
    import javax.swing.JPasswordField;
    import javax.swing.JSpinner;
    import javax.swing.JTextField;
    /**
     * WOOO计划包
     * @author Abe
     */
    public class MyUtil {
    	private MyUtil(){
    	}
    	/**
    	 * 方法:自动匹配类型初始化 输入框
    	 * @param c
    	 */
    	public static void resetComponent (Component c){
    		if(c instanceof JTextField){				//文字框
    			((JTextField) c).setText("");
    		}else if(c instanceof JPasswordField){		//密码框
    			((JPasswordField) c).setText("");
    		}else if(c instanceof JCheckBox){			//复选框
    			((JCheckBox) c).setSelected(false);
    		}else if(c instanceof JComboBox<?>){		//下拉框
    			((JComboBox<?>) c).setSelectedIndex(0);
    		}else if(c instanceof JSpinner){			//不知道什么框,有上下调整箭头的
    			((JSpinner)c).setValue(0);
    		}
    	}
    }


    展开全文
  • 借书,查资料,想着先写个比较简单的K均值,发现java写这些真的太不方便了,但是工程上肯定不可能用matlab的。忧伤。 根据之前学习的机器学习作业,想着用作业里的数据,因为之前matlab把作业都做好了,也知道正确...
  • tempt.add(result.getString("借书时间")); tempt.add(result.getString("借阅天数")); tempt.add(result.getString("应还时间")); rowData.add(tempt); } ``` rowData....
  • 基于 GAE 的应用程序,可以通过使用电子表格和 Google Docs 上的 API 来管理图书信息。 我在 2010 年使用 Google Apps 配置了我实验室的电子邮件基础设施,直到现在我实验室的人都在使用基于 Google Apps 的电子...
  • 课题背景 图书馆作为一种信息资源的集散地,图书和...对于 图书借阅情况(如借书天数超过限定借书时间的天数)的统计和核实等往往采用对借书 卡的人工检査进行,对借阅者的借阅权限以及借阅天数等用人工计算手抄进行数据
  • 图书馆作为一种信息资源的集散地图书和用户借阅资料繁多包含很多的信息数据的管理现今有很多的图书馆都是初步开始使用甚至尚未使用计算机进行信息管理根据调查得知他们以前对信息管理的主要方式是基于文本表格等纸...
  • delphi做的图书管理系统,有借书,还书等,还有查询,进书,删除等等,里面有10个窗体,4个表格 ,功能比较全啊
  • 转php面试题及我的答案(九)

    千次阅读 2007-10-24 23:11:00
    请画表格描述表结构(需要说明每个字段的字段名、字段类型、字段含义描述); 在数据库设计中应: 1. 保证每个用户的唯一性; 2. 保证每种图书的唯一性;每种图书对应不等本数的多本图书;保证每本图书的唯一性; ...
  • 根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权...
  • 2017-2018 山东大学数据库试题

    千次阅读 2018-07-03 10:54:03
    1.两阶段封锁协议2.关系的元组有顺序吗,为什麽3.串行调度与可串行化4.时间戳排序题目,根据表格判断是否可串行化5.图书馆借书管理ER模型6.和2
  • 根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、...
  • 图书馆信息管理系统

    2012-03-19 10:49:57
    以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工...
  • 的libsys-源码

    2021-02-14 08:11:27
    学生报名取书的贷款表格借书) 数据库设计: ADMIN PANEL具有有关管理员的信息 学生小组有关于学生的信息 书籍(书架)中的书籍按顺序排列 ARCHIEVES已删除或存档书籍 借书有学生拿的书 已删除的帐户包含有关曾经...
  • 图书管理系统

    2016-11-29 19:12:00
    3,添加表格要拉动窗口才看到,.validate();秒杀之 借书 import java.awt.event.ActionEvent; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Vector; impo...
  • 简易图书管理系统

    2014-02-28 15:33:09
    (1)用户可通过相应界面,依据图书的ISBN,Title,Authors,Publisher,PublicationDate,Type的组合条件,查询数据库中的符合条件的书籍,程序需将查询结果以表格的方式展示给用户,用户可选择结果排序的依据。...
  • java基础知识(四)

    2017-03-21 17:47:55
    前些时间在做图书管理系统项目的时候主要遇到的问题就是借书还书问题,我的思路是在图书页面点击添加书单时,加到List临时表中,然后将List内容遍历出来转成表格输出,再双击表格的某一条数据可以删掉该书。...
  • 11. 普通用户可实现借书和还书功能,借书功能通过对book表的查询,将未借出的图书按照id顺序排列显示,点击表格后方的“借阅”按钮,进行确认借阅,将book表中本书的borrowperson列的值改为本用户账号。对于借阅成功...
  • 根据部分调查材料得知,以前对图书馆图书信息管理主要基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅...
  • 数据库课程设计参考用JAVA做的图书馆理系统。实现了图书馆的基本功能需求 1)管理员管理:不同的类型的管理员有不同的操作权限 2)书籍管理:对书籍进行增加与删除 ... 5)信息一览:生成所有的信息一览表格,方便管理者查阅
  • 9. 普通用户可实现借书和还书功能,借书功能通过对book表的查询,将未借出的图书按照id顺序排列显示,点击表格后方的“借阅”按钮,进行确认借阅,将book表中本书的borrowperson列的值改为本用户账号。对于借阅成功...
  • 根据调查得知,他们以前对信息管理的主要方式是基于文本,表格等纸介质的手工处理,对于图书借阅情况(如借书天数,超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限,...
  • 图书管理系统数据库设计实验报告 文章目录1.概述2.需求分析2.1需要实现的功能2.2业务流程图2.2.1学生流程图2.2.2管理员流程图2.2.3超级...疫情期间,大家都只能够在家里,不能去到学校,此时需要在图书馆借书,就是只能
  • 最近在玩数据库的时候,偶尔会有...两个不同的表格(一个是record(借书记录表),一个是reader(读者信息表)):然后关联的两个readerid 字段要保持一致,包括长度,类型要保持一致。然后是编码格式两个表的引擎...
  • 听的好像是要做项目一样,但是无论写什么程序,写什么系统,都是要知道自己要干什么,要完成什么工作,实现那些功能,在这前列出一个表格,或是思维导图,给自己一个方向,先规划好再写,不然会拉下很多东西,在我写...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

借书表格