您的位置:首页 > 编程语言 > Java开发

【java】MyEclipse连接SQL server 2012简易信息查询窗体

2016-05-29 23:43 423 查看


在学习java的过程中连接数据库是必不可少的一课。对于没有用过数据库的人而言,数据库的连接就显得尤为困难,我也是一样,第一次使用MyEclipse连接数据路的时候在网上找各式各样的教程,发现基本都是骗人的,根本就不需要配置什么环境变量,只需要下载相应的jar包就可以了。

图片窗体对应的代码如下:

import java.awt.BorderLayout;

public class InfoShow extends JFrame {

private JPanel contentPane;
private JTextField textName;
private JTextField textNo;
private JTextField textNumber;
private JTextField textSearch;
private JTextField textNumberSearch;
private JTextField textNewName;

/**
* Launch the application.
*/

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {

Icon p[]=new Icon[5];   //图片数组
p[0]=new ImageIcon("1.jpg");
p[1]=new ImageIcon("2.jpg");
p[2]=new ImageIcon("3.jpg");
p[3]=new ImageIcon("4.jpg");
p[4]=new ImageIcon("5.jpg");

InfoShow frame = new InfoShow(p);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public InfoShow(final Icon p[]) {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 472, 382);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel lbName = new JLabel("书名:");
lbName.setFont(new Font("宋体", Font.PLAIN, 16));
lbName.setBounds(41, 107, 54, 15);
contentPane.add(lbName);

JLabel lbNo = new JLabel("编号:");
lbNo.setFont(new Font("宋体", Font.PLAIN, 16));
lbNo.setBounds(41, 71, 54, 15);
contentPane.add(lbNo);

JLabel lbNumber = new JLabel("数量:");
lbNumber.setFont(new Font("宋体", Font.PLAIN, 16));
lbNumber.setBounds(41, 146, 54, 15);
contentPane.add(lbNumber);

textName = new JTextField();
textName.setEditable(false);
textName.setBounds(119, 105, 104, 21);
contentPane.add(textName);
textName.setColumns(10);

textNo = new JTextField();
textNo.setEditable(false);
textNo.setBounds(119, 69, 104, 21);
contentPane.add(textNo);
textNo.setColumns(10);

textNumber = new JTextField();
textNumber.setEditable(false);
textNumber.setBounds(119, 144, 104, 21);
contentPane.add(textNumber);
textNumber.setColumns(10);

final JLabel lbPicture = new JLabel("");
lbPicture.setBounds(303, 34, 121, 151);
contentPane.add(lbPicture);

JLabel lbSearch = new JLabel("请输入编号:");
lbSearch.setFont(new Font("宋体", Font.PLAIN, 14));
lbSearch.setBounds(25, 191, 84, 15);
contentPane.add(lbSearch);

textSearch = new JTextField();
textSearch.setBounds(119, 188, 104, 21);
contentPane.add(textSearch);
textSearch.setColumns(10);

JButton btnOK = new JButton("确定");
btnOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=book","sa", "88888888");

Statement St=con.createStatement();

ResultSet r=St.executeQuery("select * from books where id = '"+textSearch.getText()+"'");

while(r.next())
{

textName.setText(r.getString("name"));
textNo.setText(r.getString("id"));
textNumber.setText(r.getString("number"));
int num = Integer.parseInt(r.getString("id"))-100;
lbPicture.setIcon(p[num-1]);
}

textSearch.setText(null);
textNewName.setText(null);
textNumberSearch.setText(null);

}catch (Exception e1) {
e1.printStackTrace();
}
}
});
//btnOK.addActionListener(new ActionListener() {}
btnOK.setFont(new Font("宋体", Font.PLAIN, 14));
btnOK.setBounds(339, 293, 93, 23);
contentPane.add(btnOK);

JLabel lbNumberSearch = new JLabel("请输入数量:");
lbNumberSearch.setFont(new Font("宋体", Font.PLAIN, 14));
lbNumberSearch.setBounds(25, 222, 84, 15);
contentPane.add(lbNumberSearch);

textNumberSearch = new JTextField();
textNumberSearch.setBounds(119, 219, 104, 21);
contentPane.add(textNumberSearch);
textNumberSearch.setColumns(10);

JButton btnAdd = new JButton("增加");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=book","sa", "88888888");

PreparedStatement r=con.prepareStatement("insert into books values('"+textSearch.getText()+"','"+textNewName.getText()+"','"+textNumberSearch.getText()+"')");

r.executeUpdate();

textSearch.setText(null);
textNewName.setText(null);
textNumberSearch.setText(null);

JOptionPane.showMessageDialog(null, "插入成功!");

}catch (Exception e1) {
e1.printStackTrace();
}
}
});
btnAdd.setFont(new Font("宋体", Font.PLAIN, 14));
btnAdd.setBounds(28, 293, 93, 23);
contentPane.add(btnAdd);

JButton btnDelete = new JButton("删除");
btnDelete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{

if(JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog(InfoShow.this,"确定要删除吗?","删除",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE))
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=book","sa", "88888888");

PreparedStatement r=con.prepareStatement("delete from books where id = '"+textSearch.getText()+"'");

r.executeUpdate();

textSearch.setText(null);
textNewName.setText(null);
textNumberSearch.setText(null);

JOptionPane.showMessageDialog(null, "删除成功!");
}

}catch (Exception e1) {
e1.printStackTrace();
}

}
});
btnDelete.setFont(new Font("宋体", Font.PLAIN, 14));
btnDelete.setBounds(130, 293, 93, 23);
contentPane.add(btnDelete);

JButton btnUpdate = new JButton("修改");
btnUpdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=book","sa", "88888888");

PreparedStatement r=con.prepareStatement("update books set name = '"+textNewName.getText()+"',number = '"+textNumberSearch.getText()+"' where id = '"+textSearch.getText()+"'");
r.executeUpdate();

textSearch.setText(null);
textNewName.setText(null);
textNumberSearch.setText(null);

JOptionPane.showMessageDialog(null, "修改成功!");

}catch (Exception e1) {
e1.printStackTrace();
}

}
});
btnUpdate.setFont(new Font("宋体", Font.PLAIN, 14));
btnUpdate.setBounds(234, 293, 93, 23);
contentPane.add(btnUpdate);

JLabel lblNewName = new JLabel("请输入书名:");
lblNewName.setFont(new Font("宋体", Font.PLAIN, 14));
lblNewName.setBounds(25, 253, 84, 15);
contentPane.add(lblNewName);

textNewName = new JTextField();
textNewName.setBounds(119, 250, 104, 21);
contentPane.add(textNewName);
textNewName.setColumns(10);

JMenuBar menuBar = new JMenuBar();
menuBar.setBounds(10, 0, 105, 21);
contentPane.add(menuBar);

JMenu menu = new JMenu("操作");
menuBar.add(menu);

JMenuItem menuItem = new JMenuItem("增加");
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=book","sa", "88888888");

PreparedStatement r=con.prepareStatement("insert into books values('"+textSearch.getText()+"','"+textNewName.getText()+"','"+textNumberSearch.getText()+"')");

r.executeUpdate();

JOptionPane.showMessageDialog(null, "插入成功!");

textSearch.setText(null);
textNewName.setText(null);
textNumberSearch.setText(null);

}catch (Exception e1) {
e1.printStackTrace();
}
}
});
menu.add(menuItem);

JMenuItem menuItem_1 = new JMenuItem("删除");
menuItem_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{

if(JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog(InfoShow.this,"确定要删除吗?","删除",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE))
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=book","sa", "88888888");

PreparedStatement r=con.prepareStatement("delete from books where id = '"+textSearch.getText()+"'");
r.executeUpdate();

textSearch.setText(null);
textNewName.setText(null);
textNumberSearch.setText(null);

JOptionPane.showMessageDialog(null, "删除成功!");
}

}catch (Exception e1) {
e1.printStackTrace();
}
}
});
menu.add(menuItem_1);

JMenuItem menuItem_2 = new JMenuItem("修改");
menuItem_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=book","sa", "88888888");

PreparedStatement r=con.prepareStatement("update books set name = '"+textNewName.getText()+"',number = '"+textNumberSearch.getText()+"' where id = '"+textSearch.getText()+"'");
r.executeUpdate();

textSearch.setText(null);
textNewName.setText(null);
textNumberSearch.setText(null);

JOptionPane.showMessageDialog(null, "修改成功!");

}catch (Exception e1) {
e1.printStackTrace();
}
}
});
menu.add(menuItem_2);

JMenuItem menuItem_3 = new JMenuItem("查询");
menuItem_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=book","sa", "88888888");

Statement St=con.createStatement();

ResultSet r=St.executeQuery("select * from books where id = '"+textSearch.getText()+"'");

while(r.next())
{

textName.setText(r.getString("name"));
textNo.setText(r.getString("id"));
textNumber.setText(r.getString("number"));
int num = Integer.parseInt(r.getString("id"))-100;
lbPicture.setIcon(p[num-1]);
}

textSearch.setText(null);
textNewName.setText(null);
textNumberSearch.setText(null);

}catch (Exception e1) {
e1.printStackTrace();
}
}
});
menu.add(menuItem_3);

JMenuBar menuBar_1 = new JMenuBar();
menu.add(menuBar_1);
}
}


lable中显示的图片我使用的是图片数组,与上一篇一样,放在本项目文件夹中。

其实连接数据库很简单,进行增删改查的代码都很类似,我在C#编程时也是如此。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: