⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdb10.java

📁 关于数据库的
💻 JAVA
📖 第 1 页 / 共 3 页
字号:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.sql.*;
import java.io.*;
import java.util.*;
import javax.swing.event.*;

class mdb10 {
	int reccount = 0;

	int nowrec = 0;

	// //////////////////////////////////////////////////用于表一 y1
	JLabel id;

	JLabel nowreclabel;

	JLabel name;

	JLabel age;

	JLabel addr;

	JLabel tel;

	JLabel recinfor;// reccount

	JTextField mid;

	JTextField mname;

	JTextField mage;

	JTextField maddr;

	JTextField mtel;

	JTextField recinformation;

	JTextField nowrecfield;

	// //////////////////////////////////////////////用于表二 y1
	JLabel xiaoxue;

	JLabel zhongxue;

	JLabel daxue;

	JTextField mxiaoxue;

	JTextField mzhongxue;

	JTextField mdaxue;

	JTextArea list;

	JButton first;

	JButton up;

	JButton down;

	JButton last;

	JButton add;

	JButton edit;

	JButton brow;

	JButton mation;

	JButton clear;

	JButton del;

	JButton tofile;

	JButton fcolor;

	JComboBox ffont;

	JComboBox fsize;

	JButton tomdb;

	JFrame frame;

	JPanel pane;

	JPanel p;

	JPopupMenu popmenu;// 弹出菜单

	/**
	 * 数据库相关内容
	 * 
	 */
	String url = "jdbc:microsoft:sqlserver://localhost:1043;DatabaseName=yang";// 用于SQL

	String classfor = "sun.jdbc.odbc.JdbcOdbcDriver";

	String host = "localhost";// 用于SQL

	String port = "1433";// 用于SQL

	String mdb = "yang";// 用于SQL,ACCESS

	String user = "sa";// 用于SQL,ACCESS

	String pwd = "";// 用于SQL,ACCESS

	String table = "y1";// 用于SQL,ACCESS

	String odbc = "yang";// 用于ACCESS

	String constr;// 用于ACCESS,SQL

	ResultSetMetaData rsmd;

	String[][] biao;

	ResultSet rec;

	Statement st;

	Connection conn;

	// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	public mdb10() {
		frame = new JFrame("数据库和文本编辑器");
		/**
		 * 
		 * 标签和字段 表一
		 */
		id = new JLabel("ID", JLabel.RIGHT);
		id.setBounds(new Rectangle(0, 0, 100, 50));
		name = new JLabel("姓名", JLabel.RIGHT);
		name.setBounds(new Rectangle(0, 60, 100, 50));
		age = new JLabel("年龄", JLabel.RIGHT);
		age.setBounds(new Rectangle(0, 120, 100, 50));
		addr = new JLabel("地址", JLabel.RIGHT);
		addr.setBounds(new Rectangle(0, 180, 100, 50));
		tel = new JLabel("电话", JLabel.RIGHT);
		tel.setBounds(new Rectangle(0, 240, 100, 50));
		mid = new JTextField(20);
		mid.setBounds(new Rectangle(120, 0, 400, 50));
		mid.setEditable(false);
		mname = new JTextField(20);
		mname.setBounds(new Rectangle(120, 60, 400, 50));
		mname.setEditable(false);
		mage = new JTextField(20);
		mage.setBounds(new Rectangle(120, 120, 400, 50));
		mage.setEditable(false);
		maddr = new JTextField(20);
		maddr.setBounds(new Rectangle(120, 180, 400, 50));
		maddr.setEditable(false);
		mtel = new JTextField(20);
		mtel.setBounds(new Rectangle(120, 240, 400, 50));
		mtel.setEditable(false);

		// /////表二
		xiaoxue = new JLabel("小学", JLabel.RIGHT);
		xiaoxue.setBounds(new Rectangle(0, 0, 100, 50));
		zhongxue = new JLabel("中学", JLabel.RIGHT);
		zhongxue.setBounds(new Rectangle(0, 60, 100, 50));
		daxue = new JLabel("大学", JLabel.RIGHT);
		daxue.setBounds(new Rectangle(0, 120, 100, 50));

		mxiaoxue = new JTextField(20);
		mxiaoxue.setBounds(new Rectangle(120, 0, 400, 50));
		mxiaoxue.setEditable(false);
		mzhongxue = new JTextField(20);
		mzhongxue.setBounds(new Rectangle(120, 60, 400, 50));
		mzhongxue.setEditable(false);
		mdaxue = new JTextField(20);
		mdaxue.setBounds(new Rectangle(120, 120, 400, 50));
		mdaxue.setEditable(false);

		recinfor = new JLabel("记录信息", JLabel.RIGHT);
		recinfor.setBounds(new Rectangle(0, 300, 100, 50));
		recinformation = new JTextField();
		recinformation.setBounds(new Rectangle(120, 300, 400, 50));
		recinformation.setEditable(false);
		nowreclabel = new JLabel("定位到");
		nowrecfield = new JTextField();
		nowrecfield.setEditable(false);

		/**
		 * 
		 * 按钮生成
		 */
		up = new JButton("上一条");
		up.setEnabled(false);
		down = new JButton("下一条");
		down.setEnabled(false);
		last = new JButton("末条");
		last.setEnabled(false);
		first = new JButton("首条");
		first.setEnabled(false);

		add = new JButton("增加");
		brow = new JButton("浏览");
		brow.setMnemonic(KeyEvent.VK_B);
		clear = new JButton("清除");
		del = new JButton("删除");
		edit = new JButton("编辑");
		add.setEnabled(false);
		edit.setEnabled(false);
		brow.setEnabled(false);
		del.setEnabled(false);
		tofile = new JButton("导出文件");
		tofile.setToolTipText("将文件保存到磁盘");
		tomdb = new JButton("导入文件");
		// /////////////////////////////////////////////////获取字体
		ffont = new JComboBox();
		Font[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment()
				.getAllFonts();
		String names;
		for (int k = 0; k < fonts.length; k++) {
			names = fonts[k].getFontName();
			ffont.addItem(names);

		}

		fsize = new JComboBox();
		for (int k = 20; k < 100; k = k + 5)
			fsize.addItem(String.valueOf(k));
		fcolor = new JButton("背景颜色");
		list = new JTextArea(30, 90);
		list.setWrapStyleWord(true);
		mation = new JButton("数据库格式");
		JScrollPane listpane = new JScrollPane(list,
				JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
				JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		p = new JPanel();
		p.setLayout(new FlowLayout());
		p.add(listpane);

		/**
		 * 
		 * 菜单项目
		 */
		JMenu conmenue = new JMenu("连接设置");
		JMenuItem m1 = new JMenuItem("连接数据源");
		JMenu m2 = new JMenu("连接SQL数据库");
		JMenuItem m20 = new JMenuItem("连接");
		JMenuItem m21 = new JMenuItem("修改服务器");
		JMenuItem m22 = new JMenuItem("修改端口号");
		JMenuItem m23 = new JMenuItem("修改数据库");
		JMenuItem m24 = new JMenuItem("修改用户");
		JMenuItem m25 = new JMenuItem("修改密码");

		m2.add(m20);
		m2.add(m21);
		m2.add(m22);
		m2.add(m23);
		m2.add(m24);
		m2.add(m25);

		JMenuItem m5 = new JMenuItem("读取配置文件");
		conmenue.add(m1);
		conmenue.add(m2);
		conmenue.add(m5);
		JMenu helpmenu = new JMenu("帮助");
		JMenuItem m6 = new JMenuItem("帮助文档");
		helpmenu.add(m6);

		JMenuBar bar = new JMenuBar();
		bar.add(conmenue);
		bar.add(helpmenu);
		frame.setJMenuBar(bar);
		/**
		 * 弹出菜单
		 */
		popmenu = new JPopupMenu();
		JMenuItem colormenu = new JMenuItem("背景颜色");
		JMenuItem tomdbmenu = new JMenuItem("打开文件");
		JMenuItem tofilemenu = new JMenuItem("保存文件");
		JMenuItem clearmenu = new JMenuItem("清除");

		popmenu.add(colormenu);
		popmenu.add(tomdbmenu);
		popmenu.add(tofilemenu);
		popmenu.add(clearmenu);

		/**
		 * -----PANE4--- | | tabpane PANE2 PANE(y1) pane1(y2)
		 * 
		 * 
		 * PANE3---- | -PANE5 P------|
		 * 
		 */
		JPanel pane1 = new JPanel();
		pane1.add(new JLabel("fds"));
		pane = new JPanel();
		pane.setLayout(null);
		pane.add(id);
		pane.add(mid);
		pane.add(name);
		pane.add(mname);
		pane.add(age);
		pane.add(mage);
		pane.add(addr);
		pane.add(maddr);
		pane.add(tel);
		pane.add(mtel);
		pane.add(recinfor);
		pane.add(recinformation);
		// /////////////////////////////////////////////
		pane1 = new JPanel();
		pane1.setLayout(null);
		pane1.add(xiaoxue);
		pane1.add(mxiaoxue);
		pane1.add(zhongxue);
		pane1.add(mzhongxue);
		pane1.add(daxue);
		pane1.add(mdaxue);

		JPanel pane2 = new JPanel();
		pane2.setLayout(new GridLayout(6, 2, 20, 5));
		pane2.add(first);
		pane2.add(add);
		pane2.add(up);
		pane2.add(edit);
		pane2.add(down);
		pane2.add(del);
		pane2.add(last);
		pane2.add(brow);
		pane2.add(nowreclabel);
		pane2.add(nowrecfield);
		pane2.setBorder(new TitledBorder("数据操作"));

		// pane2.add(mation);
		// pane2.add(clear);

		JTabbedPane tabpane = new JTabbedPane(JTabbedPane.LEFT);
		tabpane.addTab("通讯录", null, pane, "textare  textfield");
		tabpane.addTab("教育信息", null, pane1, "textare  textfield");
		tablisener tab = new tablisener();
		tabpane.addChangeListener(tab);
		JPanel pane4 = new JPanel();
		pane4.setLayout(new BorderLayout());
		pane4.add(tabpane, BorderLayout.CENTER);
		pane4.add(pane2, BorderLayout.EAST);
		JPanel pane3 = new JPanel();
		pane3.setLayout(new FlowLayout());
		pane3.add(tofile);
		pane3.add(tomdb);
		pane3.add(ffont);
		pane3.add(fsize);
		pane3.add(fcolor);
		pane3.add(clear);
		JPanel pane5 = new JPanel();
		pane5.setLayout(new BorderLayout());
		pane5.add(pane3, BorderLayout.NORTH);
		pane5.add(p, BorderLayout.SOUTH);
		JScrollPane js1 = new JScrollPane(pane4,
				JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
				JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		JScrollPane js2 = new JScrollPane(pane5,
				JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
				JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

		JSplitPane jsp1 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, js1, js2);
		jsp1.setOneTouchExpandable(true);
		jsp1.setDividerLocation(350);
		// ////////////////////////////////////////////////////////////////////
		ImageIcon my = new ImageIcon("my.gif");
		frame.setIconImage(my.getImage());
		frame.getContentPane().add(jsp1);
		frame.pack();
		frame.setVisible(true);
//		 ////////////////////////////////////////////////////////////
		frame.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				try {
					rec.close();
					st.close();
					conn.close();
				} catch (Exception ee) {
				}
				System.exit(0);
			}
		});
		
		/**
		 * 移动到首条
		 */
		first.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent r) {

				tofirst();
			}
		});
		/**
		 * 移动到上一条
		 */
		up.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent r) {
				toup();

			}
		});
		/**
		 * 移动到下一条 *
		 */
		down.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent r) {
				todown();
			}
		});
		/**
		 * 移动到末条
		 */
		last.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent r) {
				tolast();
			}
		});
		/**
		 * 增加记录
		 */
		add.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent r) {
				if (mid.getText().length() == 0) {
					JOptionPane.showMessageDialog(null, "ID内容不可以为空");

					mid.setFocusable(true);
					return;
				}
				if (table == "y1") {
					if (mname.getText().length() == 0) {
						JOptionPane.showMessageDialog(null, "姓名内容不能为空");
						return;
					}
					if (mage.getText().length() == 0) {
						JOptionPane.showMessageDialog(null, "年龄内容不能为空");
						return;
					}
					if (maddr.getText().length() == 0) {
						JOptionPane.showMessageDialog(null, "地址内容不能为空");
						return;
					}

					if (mtel.getText().length() == 0) {
						JOptionPane.showMessageDialog(null, "电话内容不能为空");
						return;
					}
				}
				if (table == "y2") {
					if (mxiaoxue.getText().length() == 0) {
						JOptionPane.showMessageDialog(null, "小学内容不能为空");
						return;
					}
					if (mzhongxue.getText().length() == 0) {
						JOptionPane.showMessageDialog(null, "中学内容不能为空");
						return;
					}
					if (mdaxue.getText().length() == 0) {
						JOptionPane.showMessageDialog(null, "大学内容不能为空");
						return;
					}
				}
				addrec();
			}
		});
		/**
		 * 修改记录
		 * 
		 */
		edit.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent r) {
				editrec();
			}
		});
		/**
		 * 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -