自己写的第一个小型简单的系统的学习多得
一。公共数据库类文件
import java.sql.*;
public final class Datebase {
private static String url = "jdbc:mysql://localhost:3306/booklend";
private static String user = "root";
private static String password = "410";
private Datebase() {
}
static {
try {
Class.forName("com.mysql.jdbc.Driver");//指定JDBC驱动程序的类型
} catch (ClassNotFoundException e) {
System.out.println("找不到jar");//找不到jar包时,打印输出
}
}
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url, user, password);//返回连接数据库的Connection对象
}
public static void free(ResultSet rs, Statement st, Connection conn) {
try {//无后续工作时关闭数据库连接
if (rs != null)
rs.close();
if (st != null)
st.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
二。(1)事件的另一种实现方法,即内部方法:这样可以防止在别的类中调用该方法,以此来实现自己的一些要求。
public class Gong extends JFrame{
private JFrame jFrame;
public static void addmyMenu(final JFrame jFrame)//往一个JFrame框架里添加一个菜单栏,static方法,直接用类名.addmyMenu(框架对象)即可
{
JMenuBar menubar=new JMenuBar();
jFrame.setJMenuBar(menubar);
JMenu menu_do=new JMenu("操作");
menubar.add(menu_do);
JMenuItem mi_lend=new JMenuItem("借书");
menu_do.add(mi_lend);
mi_lend.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jFrame.dispose();
Lend lend=new Lend();
lend.setVisible(true);
}
});
JMenuItem mi_return=new JMenuItem("还书");
menu_do.add(mi_return);
mi_return.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jFrame.dispose();
Return re=new Return();
re.setVisible(true);
}
});
}
(2)如果在这样的事件中要关闭当前对象的窗口,又要打开新的窗口,使用this.dispose()是不正确的,正确的方法是类名.this.dispose();如下:
button_quit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Search.this.dispose();//关闭实例化的Search这个对象的窗口,这个对象是Search类的一个实例化对象
Zhujiemian zhu=new Zhujiemian();
zhu.setVisible(true);
}
});
同理在这样的事件函数里设置对话框的显示位置,应该用类名.this.getX()+100和类名.this.getY()+100;
三。Resultset结果集是否为空的判断以及输出所有的结果,注意rel.next()是不断改变的,函数中出现一次,就表示指针后移一行。
try {
Connection con = Datebase.getConnection();
Statement sta = con.createStatement();
String sql = "select * from book where bookname like '%"
+ textfield.getText() + "%';";
ResultSet rel = sta.executeQuery(sql);//ResultSet接口储存结果集
textarea.setText("");
ResultSetMetaData rsmd = rel.getMetaData();//从结果集中获得元数据
int columnCount = rsmd.getColumnCount();//返回结果集中的列数
for (int i = 1; i <= columnCount; i++) {
textarea.append(rsmd.getColumnLabel(i) + '\t');//打印输出结果集中的列名
}
textarea.append("\n");
if (rel.next()) {//设置当前行的后一行为新的当前行,相当于指针后移一行。rel结果集为空时rel.next()返回值为false,不为空时,返回值为true
rel.previous();//设置当前行的前一行为新的当前行,相当于指针前移一行,只有这样才能打印第一行的结果
while (rel.next()) {
for (int j = 1; j <= columnCount; j++) {
textarea.append(rel.getString(j) + '\t');//打印结果集中每一行的值
}
textarea.append("\n");
}
} else {
label_dialog.setText("无此书!");
dialog.setLocation(this.getX() + 100, this.getY() + 100);
dialog.setVisible(true);
}
Datebase.free(rel, sta, con);//关闭数据库连接
} catch (Exception ep) {
ep.printStackTrace();
}
四。数据库中表的更新用alter,如删除表中的一列,增加一列,修改列的值的类型等等
alter table booklend rename as book;将booklend改名为book,其中rename as是关键字 |
而数据的更新用update,如将某一行中某一列的值加一,可以写为
update book set nownum=nownum+1 where bookid=111111 |
五。想文本区中添加滚动条
JPanel panel2 = new JPanel();
// panel2.setSize(650, 200);
this.add(panel2);
textarea = new JTextArea(8, 50);
textarea.setEditable(false);
panel2.add(textarea);
// textarea.setLineWrap(true);//设置文本区中的内容是否自动折行,即换行
scrollPane=new JScrollPane(textarea);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);//总是显示滚动条
panel2.add(scrollPane, BorderLayout.CENTER);//将scrollPane控件添加到panel2的中部
分享到:
相关推荐
图书出纳管理系统是一款旨在提升图书馆工作效率和质量的自动化解决方案,旨在将传统图书馆转变为集信息中心、咨询服务中心和科学教育中心于一体的现代化情报服务系统。系统的核心功能包括图书管理、流通作业、信息...
图书出纳管理系统图书出纳管理系统
007出纳管理系统2010是一款专为企事业单位设计的专业财务出纳管理软件,旨在提高财务部门的工作效率,确保财务管理的准确性与规范性。该系统集成了出纳日常工作的多个关键环节,如现金管理、银行存款管理、日记账...
[出纳软件第一品牌]007出纳管理系统2012.10企业版 ◆ 国内唯一一款通过财政部、工信部严格评审,颁发《软件产品证书》的出纳软件。 ◆ 国内唯一一款被专业的第三方媒体评为《最好用的出纳软件》的出纳管理财务软件...
### 图书出纳管理系统知识点梳理 #### 一、系统分析 **1.1 系统现状** - **数据载体**: 系统当前采用何种介质存储数据(如纸质、电子文件等),以及这些数据如何被组织和管理。 - **实体**: 涉及到的实体包括单位...
TOBROS出纳通宝007出纳管理系统2010单机全能通用版,是一款专为中小企业设计的出纳管理解决方案。它的核心目标是简化出纳操作流程,提高工作效率,同时确保财务数据的安全性和准确性。系统集成了日常现金、银行存款...
《007出纳管理系统2008.824专业版》是一款专为出纳人员设计的专业管理软件,旨在优化货币资金、票据和有价证券的管理流程,提高工作效率。这款软件集成了多种功能,使得出纳工作更加便捷、高效。 首先,关于“出纳...
然而,我可以提供一些关于图书出纳管理系统(通常称为图书管理系统或图书馆管理系统)的基础知识点,这些知识点将涵盖图书管理系统的功能、目的和常见技术实现方式。 图书管理系统是一种用于图书馆和图书销售行业...
图书出纳管理系统设计报告主要关注的是利用信息技术提升图书馆内部图书借阅管理的效率和准确性。系统的核心目标是实现图书管理的系统化、规范化和自动化,从而简化图书登记、销毁、借阅人管理、图书借还流程,以及...
这份报告由信息管理与信息系统专业的学生撰写,目的是设计一个图书出纳管理系统,将图书馆从传统的藏书中心转变为集科技信息、咨询服务和教育中心于一体的现代化服务系统。 系统的核心功能主要包括以下几个方面: ...
出纳管理系统是一款针对企业财务部门出纳工作的专业软件,它能有效地帮助出纳人员进行日常的财务管理,提高工作效率,减少人为错误。这款系统是免费的,对于中小企业或者个人用户来说,无疑是一个非常经济且实用的...
出纳管理系统系统概述 ● 适用对象:各企业、行政、事业单位; ● 多账套:可建立多套账,账套数目不限制; ● 数据库:SQL SERVER2000或以上版本; ● 管理范围:现金、银行日记账的管理,空白票据登记、领用、核销...
因此,开发一个图书出纳管理系统能够解决这些问题,实现图书的自动化管理,包括图书的添加、查询、修改、删除等操作,以及图书的借阅与归还流程。 接下来是可行性分析,主要考虑技术、经济和操作可行性。技术上,...
图书出纳管理系统分析报告
红管家财务出纳记账系统是一款针对各类企事业单位财务出纳记账工作开发的,集现金日记账记账与点验、银行日记账记账与核帐、应收应付款和往来账管理与对账、票据管理(支票管理、承兑汇票管理)、发票管理、工资管理...
出纳记账管理系统是企业财务管理中的重要组成部分,它主要用于记录和管理企业的现金流入与流出,确保财务数据的准确性和完整性。Excel作为一款广泛使用的电子表格工具,提供了强大的数据处理和分析功能,使得创建...
图书出纳管理系统是一种用于自动化管理图书馆出纳台工作的软件应用,旨在提高图书馆的工作效率和质量。这个系统的主要目标是将图书馆从传统的藏书目录中心转变为一个综合性的信息服务中心,包括人类科技文化信息中心...
您可在单一一台计算机、工作站、终端机、手持式计算机、呼叫机、“智能电话”或其它数字电子仪器(“计算机”)上安装、使用、访问、显示、运行...”)本“软件产品”(或适用于同一操作系统的任何前版本)的一份副本...
华盟票据通是一款结合平推式票据打印机使用的票据打印软件,它能有效的帮助财务人员提高财务数据的准确性,规范财务数据的书写格式,提高工作效率,实现高效的财务票据及数据管理工作。 华盟票据通是网络与单机都...