java连oracle,可以连进,但插入数据无法成功

java连oracle,可以连入,但插入数据无法成功package Ceshiimport java.sql.Connectionimport java.sql.Dr

java连oracle,可以连入,但插入数据无法成功
package Ceshi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Ceshi {


private static Statement dbstate; 
private Connection conn;
public Ceshi ()
{
dbstate=null;
 conn = null;
}
public Connection Conn1()
{
Connection conn = null;
try {
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();


String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID 

String user="system"; 

String password="orcl123"; 

conn= DriverManager.getConnection(url,user,password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}

return conn;
}

public boolean dbInsert(String name,String type,String data,String time,String intro1,String intro2)
{
  /**    
   ** 对数据库表进行插入操作       
   *  * @param hm   
   *  * @return bool值,成功返回true,失败返回false    
   *  */    
String CNAMEstr=name;
String CTYPEstr=type;
String CDATAstr=data;
String CTIMEstr=time;
String USER_INTRO1str=intro1;
String USER_INTRO2str=intro2;
Conn1();
String sql = "";    
boolean insertResult = false; 
sql += "insert into CHAT values" + "(" + "chat_seq.nextval"+",'"+ CNAMEstr+"','"+CTYPEstr+"','"+CDATAstr+"','"+CTIMEstr+"','"+USER_INTRO1str+"','"+USER_INTRO2str+"')";    
try    
{     
dbstate.executeUpdate(sql); 
System.out.println("Sql1 = " + sql);
insertResult = true;    
System.out.println("Sql2 = " + sql);
}
catch(Exception e)
{     
System.out.println("Sql3= " + sql);
}
if (insertResult) 
return true; 
else 
return false; 

}


public static void main(String[] args) {
// TODO Auto-generated method stub

Ceshi obj=new Ceshi();
Connection con=obj.Conn1();
if(con==null)
System.out.print("连接失败");
else
System.out.print("连接成功");

boolean in = obj.dbInsert("服务器","123","123","123",null,null); //—>>>插入 
   if (in) 
   System.out.println("insert OK" );
   else 
   System.out.println("insert error! ");

}

}

执行结果:


Sql3= insert into CHAT (CID,CNAME,CTYPE,CDATA,CTIME,USER_INTRO1,USER_INTRO2) values(chat_seq.nextval,'服务器','1001','uuu','2012-10-23 09:20:29:0187','null','null')
insert error! 

一直无法插入成功!

求原因?
[最优解释]


private static Statement dbstate;  

public Ceshi ()
{
dbstate=null;
conn = null;
}

dbstate.executeUpdate(sql);  


如果你没漏掉代码,那你从头到尾都用一个null来执行SQL。

dbstate = con.createStatement(); 

[其他解释]
把异常打印出来啊,看看具体什么错误。
CTIME字段是timestamp类型?如果是CTIME字段的错误,
'2012-10-23 09:20:29:0187'
改成
to_timestamp('2012-10-23 09:20:29:0187','yyyy-mm-dd hh24:mi:ss:ff')
[其他解释]
把异常打出来看看,看看具体的异常就好分析了。估计是数据类型的问题
[其他解释]
你看看你有插入权限没有?
[其他解释]
断点测试是下面这点出问题了,但是不知道是怎么错了。
dbstate.executeUpdate(sql);  
我把生成的sql语句放进oracle里面直接执行却可以插入成功。

[其他解释]
引用:
把异常打出来看看,看看具体的异常就好分析了。估计是数据类型的问题


try   
{   
dbstate.executeUpdate(sql);  
System.out.println("Sql1 = " + sql);
insertResult = true;   
System.out.println("Sql2 = " + sql);
}
catch(Exception e)
{   
System.out.println("Sql3= " + sql);
}


catch到的异常即e为null。。。

这是怎么回事啊?
[其他解释]
引用:
把异常打印出来啊,看看具体什么错误。
CTIME字段是timestamp类型?如果是CTIME字段的错误,
'2012-10-23 09:20:29:0187'
改成
to_timestamp('2012-10-23 09:20:29:0187','yyyy-mm-dd hh24:mi:ss:ff')


数据库所有的字段除了ID外,全是string类型的,并且我都已经将sql语句方巾oracle测试过了,可以插入的,只是在程序这里就一直是插入失败。。。。

求解?
[其他解释]
dbstate.executeUpdate(sql);  


是这个错了吧    执行到这抛的异常      都没有打印  sql1   和sql2
[其他解释]
pa

引用:
private static Statement dbstate;  

public Ceshi ()
{
dbstate=null;
conn = null;
}

dbstate.executeUpdate(sql);  

如果你没漏掉代码,那你从头到尾都用一个null来执行SQL。

dbstate = con.createStatement();


我的代码:
package Ceshi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Ceshi {
private static Statement dbstate;  
private Connection conn;
public Ceshi ()
{
dbstate=null;
conn = null;
}
public Connection Conn1()
{
Connection conn = null;
try {
try {


Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}  

String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID  

String user="system";  

String password="orcl123";  

conn= DriverManager.getConnection(url,user,password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}

return conn;
}

public boolean dbInsert(String name,String type,String data,String time,String intro1,String intro2)

/**   
** 对数据库表进行插入操作   
* * @param hm   
* * @return bool值,成功返回true,失败返回false   
* */   
String CNAMEstr=name;
String CTYPEstr=type;
String CDATAstr=data;
String CTIMEstr=time;
String USER_INTRO1str=intro1;
String USER_INTRO2str=intro2;
Conn1();
String sql = "";   
boolean insertResult = false;  
sql += "insert into CHAT values" + "(" + "chat_seq.nextval"+",'"+ CNAMEstr+"','"+CTYPEstr+"','"+CDATAstr+"','"+CTIMEstr+"','"+USER_INTRO1str+"','"+USER_INTRO2str+"')";   
try   
{   
dbstate = conn.createStatement();
dbstate.executeUpdate(sql);  
System.out.println("Sql1 = " + sql);
insertResult = true;   
System.out.println("Sql2 = " + sql);
}
catch(Exception e)
{   
System.out.println("Sql3= " + sql);
}
if (insertResult)  
return true;  
else  
return false;  
}


public static void main(String[] args) {
// TODO Auto-generated method stub

Ceshi obj=new Ceshi();
Connection con=obj.Conn1();
if(con==null)
System.out.print("连接失败");
else
System.out.print("连接成功");

boolean in = obj.dbInsert("服务器","123","123","123",null,null); //—>>>插入  
  if (in)  
  System.out.println("insert OK" );
  else  
  System.out.println("insert error! ");
}

}

我修改后还是错误啊??
[其他解释]
我知道怎么错了,原来是
public Connection Conn1()
{
Connection conn = null;
try {


这里多了个Connection conn = null;