?? educesql_fpg.java
字號:
}
public boolean Conn() {
username = txtUsername.getText();
password = txtPassword.getText();
host = txtHost.getText();
port = txtPort.getText();
sid = txtSid.getText();
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:@" + host + ":"
+ port + ":" + sid, username, password);
} catch (ClassNotFoundException e) {
System.out.println("載入數(shù)據(jù)驅(qū)動出錯(cuò)!!!!!!");
errmsg.append("載入數(shù)據(jù)驅(qū)動出錯(cuò)!!!!!!");
txtMsg.setText("載入數(shù)據(jù)驅(qū)動出錯(cuò)!!!!!!\n");
e.printStackTrace();
return false;
} catch (SQLException e) {
e.printStackTrace();
if (e.toString().contains("ORA-12505")) {
System.out.println("數(shù)據(jù)庫未啟動!!!!");
errmsg.append("數(shù)據(jù)庫未啟動!!!!");
txtMsg.setText("數(shù)據(jù)庫未啟動!!!!");
return false;
} else if (e.toString().contains("ORA-12528")
|| e.toString().contains("ORA-01033")) {
System.out.println("數(shù)據(jù)庫正在啟動!!!!");
errmsg.append("數(shù)據(jù)庫正在啟動!!!!");
txtMsg.setText("數(shù)據(jù)庫正在啟動!!!!");
return false;
} else if (e.toString().contains("ORA-01017")) {
System.out.println("用戶或密碼錯(cuò)誤!!!!");
errmsg.append("用戶或密碼錯(cuò)誤!!!!");
txtMsg.setText("用戶或密碼錯(cuò)誤!!!!");
return false;
} else if (e.toString().contains(
"The Network Adapter could not establish the connection")) {
System.out.println("數(shù)據(jù)庫未啟動!!!!");
errmsg.append("數(shù)據(jù)庫未啟動!!!!");
txtMsg.setText("數(shù)據(jù)庫未啟動!!!!");
return false;
} else {
System.out.println("未知錯(cuò)誤!!!!");
errmsg.append("未知錯(cuò)誤!!!!");
txtMsg.setText("未知錯(cuò)誤!!!!");
return false;
}
}
return true;
}
private String getcolumn() {
StringBuffer all_column_name = new StringBuffer();
vec_column_name = new Vector();
ResultSet rs = null;
// PreparedStatement ps_column = null;
try {
if (ps_column == null) {
ps_column = con.prepareStatement(sql_column_name);
}
ps_column.setString(1, str_table);
rs = ps_column.executeQuery();
while (rs.next()) {
vec_column_name.add(rs.getString("COLUMN_NAME"));// 取得列名
}
} catch (SQLException e) {
errmsg.append("err");
txtMsg.setText("此表不存在!");
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
} catch (SQLException e) {
errmsg.append("err");
txtMsg.setText("數(shù)據(jù)出錯(cuò)!");
}
}
if (vec_column_name.size() != 0) {
for (int i = 0; i < vec_column_name.size(); i++) {
if (i != vec_column_name.size() - 1) {
all_column_name.append(vec_column_name.get(i).toString()
+ ",");
} else {
all_column_name.append(vec_column_name.get(i).toString());
}
}
} else {
errmsg.append("err");
txtMsg.setText("沒有資料!");
}
return all_column_name.toString();
}
private Vector getcolumnvalues() {
ResultSet rs = null;
PreparedStatement ps = null;
Vector all_column_values = new Vector();
condition = txtCondition.getText();
txemp = str_table.substring(6, 7) + "POWER";
try {
// 20081205 增加條件查詢
if (condition.equals("只需要輸入條件,前面不用加where") || condition.equals("")
|| condition == null) {
ps = con.prepareStatement("select * from " + str_table);
rs = ps.executeQuery();
while (rs.next()) {
Vector vec_column_value = new Vector();
for (int i = 0; i < vec_column_name.size(); i++) {
if (i != vec_column_name.size() - 1) {
// 增加公司替換為X
if (chkCo.isSelected()
&& vec_column_name.get(i).toString()
.equalsIgnoreCase("CO")) {
vec_column_value.add("'X',");
} else {
// 增加異動人員替換
if (chkTxemp.isSelected()
&& str_table.length() == 11
&& vec_column_name.get(i).toString()
.equalsIgnoreCase("TXEMP")) {
vec_column_value.add("'" + txemp + "',");
} else {
// END
// 防止值為null時(shí),導(dǎo)出為'null'
if (rs.getString(vec_column_name.get(i)
.toString()) == null) {
vec_column_value.add("null,");
} else {
vec_column_value.add("'"
+ rs.getString(vec_column_name
.get(i).toString())
+ "',");
}
}
}
} else {
// 增加公司替換為X
if (chkCo.isSelected()
&& vec_column_name.get(i).toString()
.equalsIgnoreCase("CO")) {
vec_column_value.add("'X'");
} else {
// END
// 增加異動人員替換
if (chkTxemp.isSelected()
&& str_table.length() == 11
&& vec_column_name.get(i).toString()
.equalsIgnoreCase("TXEMP")) {
vec_column_value.add("'" + txemp + "'");
} else {
// 防止值為null時(shí),導(dǎo)出為'null'
if (rs.getString(vec_column_name.get(i)
.toString()) == null) {
vec_column_value.add("null");
} else {
vec_column_value.add("'"
+ rs.getString(vec_column_name
.get(i).toString())
+ "'");
}
}
}
}
}
all_column_values.add(vec_column_value);
}
} else {
ps = con.prepareStatement("select * from " + str_table
+ " where " + condition);
rs = ps.executeQuery();
while (rs.next()) {
Vector vec_column_value = new Vector();
for (int i = 0; i < vec_column_name.size(); i++) {
if (i != vec_column_name.size() - 1) {
// 增加公司替換為X
if (chkCo.isSelected()
&& vec_column_name.get(i).toString()
.equalsIgnoreCase("CO")) {
vec_column_value.add("'X',");
} else {
// 增加異動人員替換
if (chkTxemp.isSelected()
&& str_table.length() == 11
&& vec_column_name.get(i).toString()
.equalsIgnoreCase("TXEMP")) {
vec_column_value.add("'" + txemp + "',");
} else {
// END
// 防止值為null時(shí),導(dǎo)出為'null'
if (rs.getString(vec_column_name.get(i)
.toString()) == null) {
vec_column_value.add("null,");
} else {
vec_column_value.add("'"
+ rs.getString(vec_column_name
.get(i).toString())
+ "',");
}
}
}
} else {
// 增加公司替換為X
if (chkCo.isSelected()
&& vec_column_name.get(i).toString()
.equalsIgnoreCase("CO")) {
vec_column_value.add("'X'");
// END
// 增加異動人員替換
if (chkTxemp.isSelected()
&& str_table.length() == 11
&& vec_column_name.get(i).toString()
.equalsIgnoreCase("TXEMP")) {
vec_column_value.add("'" + txemp + "'");
} else {
// 防止值為null時(shí),導(dǎo)出為'null'
if (rs.getString(vec_column_name.get(i)
.toString()) == null) {
vec_column_value.add("null");
} else {
vec_column_value.add("'"
+ rs.getString(vec_column_name
.get(i).toString())
+ "'");
}
}
}
}
}
all_column_values.add(vec_column_value);
}
}
} catch (SQLException e) {
errmsg.append("err" + e);
txtMsg.setText("表不存在或輸入的條件有錯(cuò)!!!");
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (ps != null) {
ps.close();
ps = null;
}
} catch (SQLException e) {
errmsg.append("err");
txtMsg.setText("關(guān)閉錯(cuò)誤!!!");
}
}
return all_column_values;
}
private void generatesql() {
long start = System.currentTimeMillis();
errmsg = new StringBuffer();
if (checkischange()) {
close();// 防止改變用戶和密碼
Conn();
}
if (errmsg.length() == 0) {
String SQL = "";
str_table = txtTABLE.getText().toUpperCase();
String column = getcolumn();
Vector columnvalues = getcolumnvalues();
for (int i = 0; i < columnvalues.size(); i++) {
String a = "";
Vector v = (Vector) columnvalues.get(i);
for (int j = 0; j < v.size(); j++) {
a = a + v.get(j).toString();
}
SQL = SQL + "INSERT INTO " + str_table + "(" + column + ")"
+ "VALUES" + "(" + a + ");\r\n";
}
if (errmsg.length() == 0) {
try {
filepath = "C://" + str_table + ".sql";
fostream = new FileOutputStream(filepath, false);
fostream.write(SQL.getBytes());
fostream.close();
} catch (FileNotFoundException e) {
System.out.print(this.getClass().toString() + "toFile" + e);
txtMsg.setText("\u751f\u6210\u6210\u529f");// 文件未找到
} catch (IOException e) {
System.out
.print(this.getClass().toString() + "toFile1" + e);
txtMsg.setText("\u6587\u4ef6\u751f\u6210\u9519\u8bef");// 文件生成錯(cuò)誤
}
// 測試所花時(shí)間
DecimalFormat df = new DecimalFormat("#,##0.###");// 格式化時(shí)間
txtMsg
.setText("用時(shí)"
+ (df.format(Double.valueOf(System
.currentTimeMillis()
- start) / 1000))
+ "秒!\n"
+ "資料導(dǎo)出成功!"
+ "\u6587\u4ef6\u4e3a"
+ "\n"
+ "C:\\"
+ str_table
+ ".sql"
+ "\n"
+ "\u5982\u8981\u67e5\u770b\u751f\u6210\u7684SQL\uff0c\u8bf7\u70b9\u67e5\u770b");// 生成成功,文件為,如要查看生成的SQL,請點(diǎn)查看
// txtMsg.setText("資料導(dǎo)出成功!");
}
}
System.out.print(errmsg);
}
// 判斷是否重新連接數(shù)據(jù)庫
private boolean checkischange() {
// 第一次進(jìn)行連接
if (checkconn == 0) {
checkconn++;
return true;
} else {
temp_username = txtUsername.getText();
temp_password = txtPassword.getText();
temp_host = txtHost.getText();
temp_port = txtPort.getText();
temp_sid = txtSid.getText();
if (!temp_username.equalsIgnoreCase(username)) {
return true;
}
if (!temp_password.equalsIgnoreCase(password)) {
return true;
}
if (!temp_host.equalsIgnoreCase(host)) {
return true;
}
if (!temp_port.equalsIgnoreCase(port)) {
return true;
}
if (!temp_sid.equalsIgnoreCase(sid)) {
return true;
}
}
return false;
}
private void close() {
try {
if (con != null) {
con.close();
con = null;
}
if (ps_column != null) {
ps_column.close();
ps_column = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void Exit() {
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
// showtime.stop();
close();
showtime.stop();
dispose();
}
});
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -