给你一个关于jdbc数据库连接的类
package jp.co.nec.JTC;import java.sql.*;
import java.util.*;
import java.io.*;
public class JTCDBConnectionF implements Serializable{ /* 僐僱僋僔儑儞僆僽僕僃僋僩 */
protected Connection con = null; /* 僐儞僗僩儔僋僞 */
public JTCDBConnectionF() {
}
public void dbOpen() throws java.lang.Exception{
if (con == null || con.isClosed()) {
String url = "jdbc:oracle:oci8:@apsv";
String user = "scott";
String pass = "tiger";
// 僪儔僀僶偺儘乕僪
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// 俢俛偵愙懕
con = DriverManager.getConnection(url,user,pass);
// 僩儔儞僓僋僔儑儞僞僀僾偺愝掕
con.setTransactionIsolation( con.TRANSACTION_READ_COMMITTED );
con.setAutoCommit(false); System.out.println("DB OPEN");
} else {
System.out.println("OPENED DB");
}
}
public JTCerrorF dbClose() {
try {
if (con != null && !con.isClosed()) {
//儘乕儖僶僢僋(惓忢廔椆帪偼close偡傞慜偵忋埵偱僐儈僢僩偡傞偙偲)
con.rollback();
con.close();
System.out.println("DB CLOSE");
} else {
System.out.println("CLOSED DB");
}
}
catch (SQLException se) {
// return new JTCerrorF(se.getErrorCode(),se);
return new JTCerrorF("PD05",se); //DB CLOSE
}
finally {
con = null;
}
return (JTCerrorF)null;
}
}
package jp.co.nec.JTC;import java.sql.*;
import java.util.*;
import java.io.*;
public class JTCDBConnectionF implements Serializable{ /* 僐僱僋僔儑儞僆僽僕僃僋僩 */
protected Connection con = null; /* 僐儞僗僩儔僋僞 */
public JTCDBConnectionF() {
}
public void dbOpen() throws java.lang.Exception{
if (con == null || con.isClosed()) {
String url = "jdbc:oracle:oci8:@apsv";
String user = "scott";
String pass = "tiger";
// 僪儔僀僶偺儘乕僪
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// 俢俛偵愙懕
con = DriverManager.getConnection(url,user,pass);
// 僩儔儞僓僋僔儑儞僞僀僾偺愝掕
con.setTransactionIsolation( con.TRANSACTION_READ_COMMITTED );
con.setAutoCommit(false); System.out.println("DB OPEN");
} else {
System.out.println("OPENED DB");
}
}
public JTCerrorF dbClose() {
try {
if (con != null && !con.isClosed()) {
//儘乕儖僶僢僋(惓忢廔椆帪偼close偡傞慜偵忋埵偱僐儈僢僩偡傞偙偲)
con.rollback();
con.close();
System.out.println("DB CLOSE");
} else {
System.out.println("CLOSED DB");
}
}
catch (SQLException se) {
// return new JTCerrorF(se.getErrorCode(),se);
return new JTCerrorF("PD05",se); //DB CLOSE
}
finally {
con = null;
}
return (JTCerrorF)null;
}
}
解决方案 »
- 不明白double distance( Mypoint p )
- 求救:由j2sdk-1_4_2_17换成jdk1.7.0版本通过编译但运行不了???
- 新手求助:用SWT遇见的问题,麻烦高手给予解决
- 令人头痛的结果
- 新手来了,来捧捧场。
- 求教,关于hibernate中Transaction的commit问题
- 提问:System.exit(0);和System.exit(1);有什么区别?
- 不知这个算是Jframe 的问题 么?
- 如何把这个vector的数据插入到数据库中?sql语句怎么样写?
- eableEvents(AWTEvent.WINDOW_EVENT_MASK);
- 究竟应不应该花精力去学习java的图形设计GUI?
- 难: 关于结果集数据量很大时候的处理问题
Connection conn = DriverManager.getConnection("jdbc:odbc:answerdatabase","login","password");
Statement stmt=conn.createStatement() ;
stmt.executeUpdate("INSERT INTO ANSWER"+"VALUES(question,answer,null)");
stmt.close();
conn.close();
你的连接方式和我本来用的方法完全一样啊,只不过插入语句写法换了一下,我试过拉,还是不行啊,编译执行都没有错误,但是数据库还是加不进东西去啊?
各位大虾还有没有什么意见啊!
你先 con.setAutoCommit(false);
然后再执行update语句,那么update后的结果不会立刻反映到数据库中,应为autocommit 为 false.
然后,执行完了再con.setAutoCommit(true);那都是白打上去的,还是不会更新到数据库。你应该改为:
Connection con=DriverManager.getConnection"jdbc:odbc:answerdatabase","login","password");
con.setAutoCommit(false);
Statement stmt=con.createStatement();
stmt.addBatch("INSERT INTO ANSWER VALUES(question,answer,null)");
stmt.executeBatch();
conn1.commit() //check this
stmt.close();
con.close();或者直接把 con.setAutoCommit(false); 这句去掉
还有你的insert语句为什么用 + 号分开,ANSWER与VALUES之间又没有空格,这样不好吧