这个是数据库的设计
这个是数据库表单的大致内容
这个是创建的项目注意最下面需要引进数据库的相关jar文件库
package com;
/*** 三级地址的制作,省市县的下拉菜单的制作,表单较为简单
这个是利用数据库查询的三级联动地址
*@author [email protected] 张先生
*
*/
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import javax.swing.JComboBox;
public class MainFrame extends JFrame {
JComboBox <String>provBox = new JComboBox<>();
JComboBox <String>cityBox = new JComboBox<>();
JComboBox <String>countryBox = new JComboBox<>();
/**
* Launch the application.
*/
public static void main(String[] args) {
MainFrame frame = new MainFrame();
frame.setVisible(true);
}
public MainFrame() {
setBounds(100, 100, 450, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
getContentPane().add(panel, BorderLayout.SOUTH);
panel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
panel.add(provBox);
panel.add(cityBox);
provBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent arg0) {
String province=(String)provBox.getSelectedItem();
addCity(province);
}
});
panel.add(countryBox);
cityBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
String city=(String) cityBox.getSelectedItem();
addCountry(city);
}
});
addProv();
JPanel panel_1 = new JPanel();
getContentPane().add(panel_1, BorderLayout.CENTER);
}
void addProv(){
List<String> list=new LinkedList<>();
list=Dao.selectProvince();
Iterator<String> it=null;
it=list.iterator();
while (it.hasNext()) {
String string = (String) it.next();
provBox.addItem(string);
}
}
void addCity(String province){
Iterator<String> it=null;
List<String> list=new LinkedList<>();
cityBox.removeAllItems();
list=Dao.selectCity(province);
it=list.iterator();
while (it.hasNext()) {
String string = (String) it.next();
cityBox.addItem(string);
}
}
void addCountry(String city){
Iterator<String> it=null;
List<String> list=new LinkedList<>();
countryBox.removeAllItems();
list=Dao.selectCounty(city);
it=list.iterator();
while (it.hasNext()) {
String string = (String) it.next();
countryBox.addItem(string);
}
}
}
package com;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedList;
import java.util.List;
public class Dao {
public static List<String> selectProvince() {
List<String> list=new LinkedList<String>();
Connection conn=null;
ResultSet rs=null;
Statement sm=null;
String sql=" select province from area group by province";
conn=UtilDb.getConn();
try {
sm=conn.createStatement();
rs=sm.executeQuery(sql);
while(rs.next()){
String province=rs.getString(1);
list.add(province);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
UtilDb.closeAll(rs, sm, conn);
}
return list;
}
public static List<String> selectCity(String province) {
List<String> list=new LinkedList<String>();
Connection conn=null;
ResultSet rs=null;
Statement sm=null;
String sql=" select city from area where province='"+province+"' group by city";
conn=UtilDb.getConn();
try {
sm=conn.createStatement();
rs=sm.executeQuery(sql);
while(rs.next()){
String city=rs.getString(1);
list.add(city);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
UtilDb.closeAll(rs, sm, conn);
}
return list;
}
public static List<String> selectCounty(String city) {
List<String> list=new LinkedList<String>();
Connection conn=null;
ResultSet rs=null;
Statement sm=null;
String sql=" select county from area where city='"+city+"' group by county";
conn=UtilDb.getConn();
try {
sm=conn.createStatement();
rs=sm.executeQuery(sql);
while(rs.next()){
String county=rs.getString(1);
list.add(county);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
UtilDb.closeAll(rs, sm, conn);
}
return list;
}
}
package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class UtilDb {
protected static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
protected static String url = "jdbc:sqlserver://127.0.0.1:1433";
protected static String url1 = "jdbc:sqlserver://127.0.0.1:1433;database=Test";
protected static String user = "sa";
protected static String password = "12345678";
public static Connection getConn() {
Connection conn=null;
try {
Class.forName(dbClassName);
if (conn == null) {
conn = DriverManager.getConnection(url1, user, password);
}
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void closeAll(ResultSet rs, Statement sm, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (sm != null) {
sm.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
}
}
}