数据库编程中表格式输出.doc_第1页
数据库编程中表格式输出.doc_第2页
数据库编程中表格式输出.doc_第3页
数据库编程中表格式输出.doc_第4页
数据库编程中表格式输出.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

江西财经大学用友软件学院:张海龙邮箱:Java数据库编程中查询结果的表格式输出对新手来说,Java数据库编程存在着许多问题,下面以数据库服务器sql 2000,编程软件eclipse,jdk1.5.8为例来说明java连数据库的总过程,并把查询结果以表格的形式显示出来!首先,你的sql2000必须打一个sp3或sq4服务包,只有这样,你的端口1433才能打开,否则就连接不上数据库服务器sql 2000;当sq3或sq4包打好了之后,你必须安装jdbc驱动程序,在它的lib子目录下包含了3 个jar文件,msbase.jar;mssqlserver.jar;msutil.jar;你必须把它们导入到你的eclipse集成开发环境中,具体安装为:在eclipse 的构建路径-添加外部归档中选择这三个文件,把它导入到开发项目中,这样就配置好了jdbc连接数据库服务器sql 2000的环境!解决了上述问题后,接下来的便是连接sql 2000,并且把查询结果用表格输出的问题了。下面以数据库pubs,表titles为例来讲述数据库的不格显示package 界面;/包名,可以缺省import java.awt.*;import javax.swing.*;public class test extends JFrame private controls1 control;/数据库表格控件类,内集成了表格操作的全部功能private JScrollPane scroll;public test() this.setTitle(连接数据库);control=new controls1(pubs,titles,sa,1);/pubs数据库名,titles表名,sa用户名,1为密码scroll=new JScrollPane(control);/表格可以滚动this.getContentPane().setLayout(new BorderLayout();this.getContentPane().add(scroll,BorderLayout.CENTER);public static void main(String args) test frame=new test();frame.pack();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);运行结果为 第一行黑体为字段名,下面1-18显示的是记录,外部调用就一个构造函数 controls1 control=new controls1(pubs,titles,sa,1)/pubs数据库名,titles表名,sa用户名,1为密码下面再举一些例子来说明这个控件,还是以数据库pubs 为例,它下属有表 titles,titleauthor,stores,sales,roysched,publishers,pub_info,jobs,employee,discounts,authors现在对数据库表与表格进行操作 ,其中包括对表格的插入,删除,修改,更新请看源程序package 界面;/包名,可缺省import java.awt.event.*;import java.awt.*;import javax.swing.*;import javax.swing.border.*;public class databaseFrame extends JFrame implements ActionListener, ItemListener private JButton add,remove,laws,submit,update;/增加,删除,修改,提交,刷新private Stringtable=titles,titleauthor,stores,sales,roysched,publishers,pub_info,jobs,employee,discounts,authors;/表名private JComboBox combox;/表名组全框private controls1 control;/数据库控件类private JScrollPane scroll;/表格可滚动private String s;/选定的表名public databaseFrame() /构造函数JPanel p=new JPanel(new GridLayout(6,1,10,20);add=new JButton(增加);remove=new JButton(删除);laws=new JButton(修改);submit=new JButton(提交);update=new JButton(刷新);combox=new JComboBox(table);p.add(combox);p.add(add);p.add(remove);p.add(laws);p.add(submit);p.add(update);p.setBorder(new LineBorder(Color.black,1);control=new controls1(pubs,titles,sa,1);scroll=new JScrollPane(control);this.getContentPane().setLayout(new BorderLayout();this.getContentPane().add(p,BorderLayout.EAST);this.getContentPane().add(scroll,BorderLayout.CENTER);add.addActionListener(this);remove.addActionListener(this);laws.addActionListener(this);submit.addActionListener(this);update.addActionListener(this);combox.addItemListener(this);this.setBounds(200, 100, 600, 500);this.setTitle(数据库);this.setVisible(false);public void actionPerformed(ActionEvent e) String click=e.getActionCommand();if(增加.equals(click)control.addRow();/增加一行add.setEnabled(false);remove.setEnabled(false);laws.setEnabled(false);submit.setEnabled(true);update.setEnabled(false);else if(删除.equals(click)control.removeRow();/删除一行add.setEnabled(false);remove.setEnabled(false);laws.setEnabled(false);submit.setEnabled(false);update.setEnabled(true);else if(修改.equals(click)control.sqlUpdate();/修改一行add.setEnabled(false);remove.setEnabled(false);laws.setEnabled(false);submit.setEnabled(false);update.setEnabled(true);else if(提交.equals(click)control.sqlAddRow();/提交一行submit.setEnabled(false);update.setEnabled(true);elseadd.setEnabled(true);remove.setEnabled(true);laws.setEnabled(true);submit.setEnabled(true);update.setEnabled(true);control=new controls1(pubs,s,sa,1);/刷新scroll.setViewportView(control);scroll.validate();public void itemStateChanged(ItemEvent e) s=(String)e.getItem();control=new controls1(pubs,s,sa,1);scroll.setViewportView(control);scroll.validate();public static void main(String args) databaseFrame frame=new databaseFrame();frame.setSize(600,500);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);请看运行结果 首先,我们来看控件的增加一行的功能,首先,点击增加按扭,马上调用control.addRow(),在其表格的尾部添加新的一行,运行如图所示 在其空白地方输入数据,点击提交按扭,马上调用control.sqlAddRow();如果提交成功,则弹出消息对话框成功,否则失败 再点击刷新按扭,调用构造函数control=new controls1(pubs,s,sa,1);重新连接表,即可得到刷新效果,再来看表行的删除,首先选定一行记录,点击删除按扭,调用control.removeRow(),如果删除成功,则弹出对话框成功,否则失败,运行如下再点击刷新按扭再来看表行的的修改,先选定一行,修改了某个地方后,再点击修改按扭,调用control.sqlUpdate(),弹出对话框成功与否,再点击刷新按扭,运行如下 再点击刷新按扭,重新调用构造函数control=new controls1(pubs,s,sa,1)Controls1的主要属性private JLabel jhlabels,jvlabels;/列标签,行标签private JTextField txts;/二维文本框private int row=0;/初始行数private int column=0;/初始列数private String chrs;/列标签名称private GridBagLayout grid;private GridBagConstraints cons;private String database,table,username,pwd;/数据库名,表名,用户名,密码private String sql;/sql语句private boolean backrow,backcol;private int selectrow,selectcolumn;/选定的行与列private Connection con;private Statement a;private ResultSet b;private JLabel newJvlabels,newJhlabels;/新增加的行与列private JTextField newRowTxts,newColTxts;/新增加的文本框主要方法:构造函数public controls1(String database,String table,String username,String pwd) 功能:连接数据库中的表,并以表格显示出来参数:1,数据库名。2,表名。3,用户名。4,密码构造函数public controls1(Stringa,int row) 功能:生成指定行数,列数的表格,并且指定列标签的名称参数:1,列标签名数组。2,行数public void addColumn(String name)功能:在最后一列处添加一列,并生成列标签参数:列标签名称public void addColumn(String name,int selectcolumn)功能:在指定的列位置处旁边添加一列,并生成列标签参数:1,列标签名称。2,指定的列public void addRow()功能:在行的最尾端处添加一行,与public void sqlAddRow()配合使用public void addRow(int selectrow)功能:在指定的行的下一行添加一行,与public void sqlAddRow()配合使用public String getchrs()功能:得到列标签的名称数组public String getDatabase()功能:得到数据库的名称public Dimension getMinimumSize()功能:得到控件面板的最小尺寸public Dimension getPerferredSize()功能:得到控件面板的最合适尺寸public String getnewRowText(int column)功能:得到新生成的那一行某一列的值参数:列位置public String getPwd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论