📄 computercontroller.java
字号:
package Controll;
import java.awt.Dimension;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Calendar;
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import Model.ComputerModel;
import Model.Computer_copyModel;
import View.ComputerView;
/*
* Created on 2006-10-23
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class ComputerController{
static ComputerView view;
public ResultSet rs1;
public static ComputerModel model;
public static Computer_copyModel model1;
public static void main(String[] args) {
view = new ComputerView();
model = loadModel();
/**
* 把数据库里的model加载进View的Table里
*/
view.setModel(model);
}
/**
* 向数据库插入数据
*
*/
public void insertData(){
String name ="便翔网吧";
int id =Integer.parseInt(view.jtfCard.getText());
String str2 = view.jtfCertificate.getText();
String str3 =view.jtfName.getText();
double d =Double.parseDouble(view.jtfMoney.getText());
Date date = new Date(System.currentTimeMillis());
Connection conn=null;
PreparedStatement psmt=null;
try {
String DBURL ="jdbc:microsoft:sqlserver://127.0.0.1:1433;Databasename=pubs;User=sa;Password=";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(DBURL,"sa","");
psmt = conn.prepareStatement("insert into computer values(?,?,?,?,?,?)");
psmt.setString(1, name);
psmt.setInt(2, id);
psmt.setString(3, str2);
psmt.setString(4, str3);
psmt.setDouble(5, d);
psmt.setDate(6, date);
int result = psmt.executeUpdate();
CopyModel(view.jtfCard.getText());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(psmt!=null)
psmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
}
}
/**
* 从数据库查询数据
* @return
*/
public ComputerModel SelectModel()
{
ComputerModel model = null;
String DBURL ="jdbc:microsoft:sqlserver://127.0.0.1:1433;Databasename=pubs;User=sa;Password=";
Connection conn = null;
Statement stmt = null;
rs1=null;
int rowCount = 0;
int colCount = 0;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(DBURL,"sa","");
stmt = conn.createStatement();
String sql="select * from Computer where Card_ID="+view.jtfCheck.getText()+"";
rs1 = stmt.executeQuery(sql);
while(rs1.next())
{
view.showSelectDialog();
}
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
if(rs1!=null)
rs1.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
}
return model;
}
/**
* 从数据库里结帐
* @return
*/
public ComputerModel CheckModel()
{
ComputerModel model = null;
String DBURL ="jdbc:microsoft:sqlserver://127.0.0.1:1433;Databasename=pubs;User=sa;Password=";
Connection conn = null;
Statement stmt = null;
rs1=null;
int rowCount = 0;
int colCount = 0;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(DBURL,"sa","");
stmt = conn.createStatement();
String sql="select * from Computer where Card_ID="+view.jtfCheck.getText()+"";
String sq2="Delete from Computer where Card_ID="+view.jtfCheck.getText()+"";
rs1 = stmt.executeQuery(sql);
while(rs1.next())
{
view.showCheckDialog();
}
stmt.executeUpdate(sq2);
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
if(rs1!=null)
rs1.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
}
return model;
}
/**
* 备份数据
* @param strCardID
* @return
*/
public ComputerModel CopyModel(String strCardID)
{
ComputerModel model = null;
String DBURL ="jdbc:microsoft:sqlserver://127.0.0.1:1433;Databasename=pubs;User=sa;Password=";
Connection conn = null;
Statement stmt = null;
ResultSet rs2 = null;
int rowCount = 0;
int colCount = 0;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(DBURL,"sa","");
stmt = conn.createStatement();
String sql="insert into computer_copy select * from computer where Card_ID = '"+strCardID+"'";
stmt.executeUpdate(sql);
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
if(rs1!=null)
rs1.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
}
return model;
}
/**
* 等待加载数据
* @return
*/
public static ComputerModel loadModel(){
ComputerModel model = null;
String DBURL ="jdbc:microsoft:sqlserver://127.0.0.1:1433;Databasename=pubs;User=sa;Password=";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
int rowCount = 0;
int colCount = 0;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(DBURL,"sa","");
stmt = conn.createStatement();
String sql1 = "select count(*) from Computer";
String sql2 = "select * from Computer order by card_ID";
rs = stmt.executeQuery(sql1);
if(rs.next()){
rowCount = rs.getInt(1);
}
rs = stmt.executeQuery(sql2);
/**
* ResultSetMetaData可用于获取关于 ResultSet 对象中列的类型和属性信息的对象
*/
ResultSetMetaData rsmd = rs.getMetaData();
/**
*得到列数
*/
colCount = rsmd.getColumnCount();
model = new ComputerModel(rowCount,colCount);
for(int i=0;i<colCount;i++){
/**
*getColumnLabel获取用于打印输出和显示的指定列的建议标题
*/
model.setColumnName(i,rsmd.getColumnLabel(i+1));
}
int rowIndex = 0;
while(rs.next()){
for(int i=0;i<colCount;i++)
model.setValueAt(rs.getString(i+1),rowIndex,i);
rowIndex++;
}
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
}
return model;
}
/**
* 备份数据的Model
* @return
*/
public static Computer_copyModel loadHistoryModel(){
Computer_copyModel model1 = null;
String DBURL ="jdbc:microsoft:sqlserver://127.0.0.1:1433;Databasename=pubs;User=sa;Password=";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
int rowCount = 0;
int colCount = 0;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(DBURL,"sa","");
stmt = conn.createStatement();
String sql1 = "select count(*) from Computer_copy";
String sql2="select * from Computer_copy where Card_ID="+view.jtfCheck.getText()+"";
rs = stmt.executeQuery(sql1);
if(rs.next()){
rowCount = rs.getInt(1);
}
rs = stmt.executeQuery(sql2);
/**
* ResultSetMetaData可用于获取关于 ResultSet 对象中列的类型和属性信息的对象
*/
ResultSetMetaData rsmd = rs.getMetaData();
/**
* 得到列数
*/
colCount = rsmd.getColumnCount();
model1 = new Computer_copyModel(rowCount,colCount);
for(int i=0;i<colCount;i++){
/**
*getColumnLabel获取用于打印输出和显示的指定列的建议标题
*/
model1.setColumnName(i,rsmd.getColumnLabel(i+1));
}
int rowIndex = 0;
while(rs.next()){
for(int i=0;i<colCount;i++)
model1.setValueAt(rs.getString(i+1),rowIndex,i);
rowIndex++;
}
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
}
return model1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -