1.public class Function {
public void createTable(Connection con){
try {
System.out.println("开始创建表");
Statement stm=con.createStatement();
stm.executeUpdate("create table student(sid number(6) primary key,sname varchar2(10),agender varchar2(10),sdept varchar2(30));");
System.out.println("表创建");
} catch (SQLException e) {
e.printStackTrace();
}
在sql语句中多一个;会报出错误
java.sql.SQLException: ORA-00911: invalid character
public void createTable(Connection con){
try {
System.out.println("开始创建表");
Statement stm=con.createStatement();
stm.executeUpdate("create table student(sid number(6) primary key,sname varchar2(10),agender varchar2(10),sdept varchar2(30));");
System.out.println("表创建");
} catch (SQLException e) {
e.printStackTrace();
}
在sql语句中多一个;会报出错误
java.sql.SQLException: ORA-00911: invalid character
和别的分号一比就可以看出来那个分号是中文的(全角)
这样应该就行了
import java.io.*;
import java.util.*;
import java.sql.*;public class dbPool{
private static dbPool instance = null; //取得连接
public static synchronized Connection getConnection() {
if (instance == null){
instance = new dbPool();
}
return instance._getConnection();
} private dbPool(){
super();
} private Connection _getConnection(){
try{
String sDBDriver = null;
String sConnection = null;
String sUser = null;
String sPassword = null; Properties p = new Properties();
InputStream is = getClass().getResourceAsStream("/db.properties");
p.load(is);
sDBDriver = p.getProperty("DBDriver",sDBDriver);
sConnection = p.getProperty("Connection",sConnection);
sUser = p.getProperty("User","");
sPassword = p.getProperty("Password",""); Properties pr = new Properties();
pr.put("user",sUser);
pr.put("password",sPassword);
pr.put("characterEncoding", "GB2312");
pr.put("useUnicode", "TRUE"); Class.forName(sDBDriver).newInstance();
return DriverManager.getConnection(sConnection,pr);
}
catch(Exception se){
System.out.println(se);
return null;
}
} //释放资源
public static void dbClose(Connection conn,PreparedStatement ps,ResultSet rs)
throws SQLException
{
rs.close();
ps.close();
conn.close(); }
}调用连接类,实现连接:
import java.sql.*;
import java.util.*;public class loginHandler {
public loginHandler() {
} Connection conn;
PreparedStatement ps;
ResultSet rs;
conn = dbPool.getConnection();
........
}
但是你用的是什么数据库啊
我学的SQL Server 2000里面没有
varchar2这种数据类型哦
sname varchar2(10),agender varchar2(10),sdept varchar2(30