用java的swing组件画出表格,实现“增加”、“删除”、“保存”、“退出”的功能,并且与mysql数据库相连接。
可以实现提取数据库中表的数据显示到含有表格的窗体上,也可以将在表格中修改的内容写入数据库表中。
我实现以上功能时用了两个类,其中一个类是MyFrame,另外一个类是PutinStorage。
具体代码如下(以下代码均为完整代码,经测试成功的):
PutinStorage类:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JOptionPane;
public class PutinStorage {
// 得到数据库表数据
public static Vector getRows(){
String sql_url = "jdbc:mysql://localhost:3306/haha"; //数据库路径(一般都是这样写),test是数据库名称
String name = "root"; //用户名
String password = "123456"; //密码
Connection conn;
PreparedStatement preparedStatement = null;
Vector rows = null;
Vector columnHeads = null;
try {
Class.forName("com.mysql.jdbc.Driver"); //连接驱动
conn = DriverManager.getConnection(sql_url, name, password); //连接数据库
// if(!conn.isClosed())
// System.out.println("成功连接数据库");
preparedStatement = conn.prepareStatement("select * from aa");
ResultSet result1 = preparedStatement.executeQuery();
if(result1.wasNull())
JOptionPane.showMessageDialog(null, "结果集中无记录");
rows = new Vector();
ResultSetMetaData rsmd = result1.getMetaData();
while(result1.next()){
rows.addElement(getNextRow(result1,rsmd));
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("未成功加载驱动。");
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("未成功打开数据库。");
e