首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

JDBC两个有关问题

2011-12-13 
JDBC两个问题1.publicclassFunction{publicvoidcreateTable(Connectioncon){try{System.out.println( 开

JDBC两个问题
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

[解决办法]
貌似你那个分号是中文输入法的
用英文输入法的试试
[解决办法]
(10),agender varchar2(10),sdept varchar2(30)); ");


和别的分号一比就可以看出来那个分号是中文的(全角)
[解决办法]
不用分号,
[解决办法]
确实不用分号也行
[解决办法]
stm.executeUpdate( "create table student(sid number(6) primary key,sname varchar2(10),agender varchar2(10),sdept varchar2(30)) ");
这样应该就行了

[解决办法]
大家好哦!楼主的JDBC的创建表1完整般的饿代码有人帮我做下哈!
我的邮箱:wanghuipeng1027@126.com
有酬谢的!本人感激不尽!一定会发帖表表的!
[解决办法]
先建立一个连接类
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
[解决办法]
太强了

热点排行