当前位置 : 首页> Java教程 > Java编程开发之数据库查询简介

Java编程开发之数据库查询简介

时间:2016-09-06 16:59   已访问:215次

经过了一番努力,数据库连接上了,也能访问了,可如何查询数据库呢,查询数据库需要哪些语句呢,有没有什么快捷的方式呢?今天IT培训网小编就来为大家传授这方面的课程吧,用心学习哦!

数据库查询简介

利用Connection对象的createStatement方法建立Statement对象,利用Statement对象的executeQuery()方法执行SQL查询语句进行查询,返回结果集,再形如getXXX()的方法从结果集中读取数据。经过这样的一系列步骤就能实现对数据库的查询。

【例 13-9】Java应用程序访问数据库。应用程序打开考生信息表ksInfo,从中取出考生的各项信息。设考生信息数据库的结构如下:

类型

字符串

字符串

整数

字符串

字符串

字段名

考号

姓名

成绩

地址

简历

 

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

import java.sql.*;

public class Example10_9 extends JFrame implements ActionListener{

    public static Connection connectByJdbcodbc(String url, String username,String password){

        Connection con = null;

        try{

            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  //加载ODBC驱动程序

        }

        catch (Exception e){

            e.printStackTrace();

            return null; //加载失败,连接不成功

        }

        try{

            con = DriverManager.getConnection(url, username, password);

        }

        catch (SQLException e){

            e.printStackTrace();

            return null; //连接失败

        }

        return con; //连接成功

    }

    String title[] ={"考号", "姓名", "成绩", "地址", "简历"};

    JTextField txtNo = new JTextField(8);

    JTextField txtName = new JTextField(10);

    JTextField txtScore = new JTextField(3);

    JTextField txtAddr = new JTextField(30);

    JTextArea txtresume = new JTextArea();

    JButton prev = new JButton("前一个");

    JButton next = new JButton("后一个");

    JButton first = new JButton("第一个");

    JButton last = new JButton("最后一个");

    Statement sql; //SQL语句对象

    ResultSet rs; //存放查询结果对象

    Example10_9(Connection connect){

        super("考生信息查看窗口");

        setSize(450, 350);

        try{

            sql = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

            rs = sql.executeQuery("SELECT * FROM ksInfo");

            Container con = getContentPane();

            con.setLayout(new BorderLayout(0, 6); JPanel p[] = new JPanel[4];

            for (int i = 0; i < 4; i++){

                p[i] = new JPane(new FlowLayout(FlowLayout.LEFT, 8, 0));

                p[i].add(new JLabel(title[i]));

            }

            p[0].add(txtNo);

            p[1].add(txtName);

            p[2].add(txtScore);

            p[3].add(txtAddr);

            JPanel p1 = new JPane(new GridLayout94, 1, 0, 8));

            JScrollPane jsp = new JScrollPane(txtResume,

                JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,

                JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

                jsp.setPreforredSize(new Dimension(300, 60);

            for (int i = 0; i < 4; i++){

                p1.add(p[i]);

            }

            JPanel p2 = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0);

            p2.add(new JLabel(title[4]));

            p2.add(jsp);

            Jpanel p3 = new Jpanel();

            p3.add(prev);

            p3.add(next);

            p3.add(first);

            p3.add(last);

            prev.addActionListener(this);

            next.addActionListener(this);

            first.addActionListener(this);

            last.addActionlistener(this);

            rs.first();

            readRecord();

        }

        catch (Exception e){

            e.printStackTrace():

        }

        setVisible(ture);

    }

    public void modifyRecord(Connection connect){

        String stuNo = (String)JOptionPane.showInputDialog(null,

            "请输入考生考号", "输入考号对话框", JOptionPane.PLAIN_MESSAGE, null,

            null, "");

        try {

            sql = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

            rs = sql.executeQuery("SELECT * FROM ksInfo");

            Container con = getContentPane();

            con.setLayout(new Boarderlayout(0, 6));

            Jpanel p[] = new JPanel[4];

            for (int i = 0; i < ; i++){

                p[i] = new JPane(new FlowLayout(flowLayout.LEFT, 8, 0));

                p[i].add(new JLabel(title[i]));

            }

            p[0].add(txtNo);

            p[1].add(txtName);

            p[2].add(txtScore);

            p[3].add(txtAddr);

            Jpanel p1 = new Jpane(new GridLayout(4, 1, 0, 8));

            JScrollPane jsp = new JScrollPane(txtResume,

                JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,

                JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

            jsp.setPreferredSize (new dimension(300, 60));

            for (int i = 0; i < 4; i++){

                p1.add(p[i]);

            }

            Jpanel p2 = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0));

            p2.add(new JLableI(title[4]));

            p2.add(jsp);

            JPanel p3 = new JPanel();

            p3.add(prev);

            p3.add(next);

            p3.add(first);

            p3.add(last);

            prev.addActionListener(this);

            next.addActionListener(this);

            first.addActionListenerIthis);

            last.addActionListener(this);

            rs.first();

            readRecord();

        }

        catch (Exception e){

            e.printStackTrace();

        }

        setVisible(true);

    }

    boolean readRecord(){

        try{

            txtNo.setText(rs.getString("考号")); txtName.setText(rs.getString("姓名")); txtScore.setText(rs.getString("成绩"));

            txtAddr.setText(rs.getString("地址")); txtResume.setText(rs.getString("简历"));

        }

        catch (SQLException e){

            e.printStackTrace(); return false;

        }

        return true;

    }

    public void actionPerformed(ActionEvent e){

        try{

            if (e.getSource() == prev)rs.previous();

            else if (e.getSource() == next)rs.next();

            else if (e.getSource() == first)rs.first();

            else if (e.getSource() == last)rs.last(); readRecord();

        }

        catch (Exception e2){}

    }

    public static void main(String args[]){

        connection connect = null;

        JFrame .setDefaultLookAndFeeDecorated(true);

        Font font = new Font("JFrame", Font.PLAIN, 14);

        if ((connect =connectByJdbcOdbc("jdbc:odbc:redsun", "xia", "1234")) == null){

            JOptionPane.showMessageDialog(null, "数据库连接失败!");

            System.exit ( - 1);

        }

        new Example10_9(connect); //创建对象

    }

}

关于Java数据库查询的方法和语句就介绍到这里了,希望大家用心学习,做好学习的计划,虽然Java难度还可以,但不用心也是不行的。如果想要了解更高端的Java课程信息赶紧咨询我校的老师吧!


推荐内容