这是插入积分的方法
-------------------------------------------------------------------------------------------------
public void inputCreditslog(int _uid, String _opr, int _crd, int _flag, String _rmk, String _adm)
throws SQLException
{
DbConnection dbcon = null;
Connection conn = null;
PreparedStatement pstmt = null; java.util.Date date = new java.util.Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String creditsdate = format.format(date);
try
{
dbcon = new DbConnection();
conn = dbcon.getCon(); this.sql =
("insert into ap_creditslog (id,userId,operation,creditsdate,credits,flag,re,adminuser) values (SEQ_AP_CREDITSLOG.nextval,'" +
_uid + "','" + _opr + "','" + creditsdate + "','" + _crd + "','" + _flag + "','" + _rmk + "','" + _adm + "')");
pstmt = conn.prepareStatement(this.sql);
pstmt.executeUpdate();
fee(_uid, _crd, _flag);
} catch (Exception e) {
System.err.println(e.getMessage());
} finally {
pstmt.close();
conn.close();
}
}
----------------------------------------------------------------------------------------------
报错信息:
文字与格式字符串不匹配
----------------------------------------------------------------------------------------------
bean
-----------------------------------------------------------------------------------------------
public class AP_CREDITLOGBean {
private int id;
private int userId;
private String operation;
private java.sql.Date creditsdate;
private int credits;
private int flag;
private String re;
private String adminuser;
public String getAdminuser() {
return adminuser;
}
public void setAdminuser(String adminuser) {
this.adminuser = adminuser;
}
public int getCredits() {
return credits;
}
public void setCredits(int credits) {
this.credits = credits;
}
public java.sql.Date getCreditsdate() {
return creditsdate;
}
public void setCreditsdate(java.sql.Date creditsdate) {
this.creditsdate = creditsdate;
}
public int getFlag() {
return flag;
}
public void setFlag(int flag) {
this.flag = flag;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getOperation() {
return operation;
}
public void setOperation(String operation) {
this.operation = operation;
}
public String getRe() {
return re;
}
public void setRe(String re) {
this.re = re;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
-------------------------------------------------------------------------------------------------------
谢谢啦。急急急急!!
-------------------------------------------------------------------------------------------------
public void inputCreditslog(int _uid, String _opr, int _crd, int _flag, String _rmk, String _adm)
throws SQLException
{
DbConnection dbcon = null;
Connection conn = null;
PreparedStatement pstmt = null; java.util.Date date = new java.util.Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String creditsdate = format.format(date);
try
{
dbcon = new DbConnection();
conn = dbcon.getCon(); this.sql =
("insert into ap_creditslog (id,userId,operation,creditsdate,credits,flag,re,adminuser) values (SEQ_AP_CREDITSLOG.nextval,'" +
_uid + "','" + _opr + "','" + creditsdate + "','" + _crd + "','" + _flag + "','" + _rmk + "','" + _adm + "')");
pstmt = conn.prepareStatement(this.sql);
pstmt.executeUpdate();
fee(_uid, _crd, _flag);
} catch (Exception e) {
System.err.println(e.getMessage());
} finally {
pstmt.close();
conn.close();
}
}
----------------------------------------------------------------------------------------------
报错信息:
文字与格式字符串不匹配
----------------------------------------------------------------------------------------------
bean
-----------------------------------------------------------------------------------------------
public class AP_CREDITLOGBean {
private int id;
private int userId;
private String operation;
private java.sql.Date creditsdate;
private int credits;
private int flag;
private String re;
private String adminuser;
public String getAdminuser() {
return adminuser;
}
public void setAdminuser(String adminuser) {
this.adminuser = adminuser;
}
public int getCredits() {
return credits;
}
public void setCredits(int credits) {
this.credits = credits;
}
public java.sql.Date getCreditsdate() {
return creditsdate;
}
public void setCreditsdate(java.sql.Date creditsdate) {
this.creditsdate = creditsdate;
}
public int getFlag() {
return flag;
}
public void setFlag(int flag) {
this.flag = flag;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getOperation() {
return operation;
}
public void setOperation(String operation) {
this.operation = operation;
}
public String getRe() {
return re;
}
public void setRe(String re) {
this.re = re;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
-------------------------------------------------------------------------------------------------------
谢谢啦。急急急急!!
ORACLE在插入时间类型的时候需要调用to_date函数,你上边写的在java里转换成date类型的数据,然后插入ORACLE对数据库而言毫无任何意义,你是这么写的
'" + creditsdate + "'数据库会把它当做字符串处理,但是字段的类型是个Date类型,所以肯定报错。
目前只发现这一个错误。
"values('"+point1+"','"+point2+"','"+centerDomain+"',TO_DATE('"+dtStr+"','YYYY-MM-DD HH24:MI:SS'),'"+ucode+"')";
在oracle中,你插入的数据类型必须和数据库的数据类型保持一致才行
不像mssql,它可以自动进行类型转换
转成字符类型用to_char()函数
sql = "insert into ap_accountlo(id,userId,OPERATION,TRADEDATE,AMOUNT,FLAG,REMARK,ADMINUSER) " +
"values (SEQ_AP_ACCOUNTLOG.nextval,"+_uid+",'"+_opr+"',to_date(sysdate,'dd-Mon-yyyy hh24:mi:ss'),"+_amt+","+_flag+",'"+_rmk+"','"+_adm+"')";
请问为什么 插入后的系统时间会出问题?
sql = "insert into ap_accountlo(id,userId,OPERATION,TRADEDATE,AMOUNT,FLAG,REMARK,ADMINUSER) " +
"values (SEQ_AP_ACCOUNTLOG.nextval,"+_uid+",'"+_opr+"',to_date('"+sysdate+"','dd-Mon-yyyy hh24:mi:ss'),"+_amt+","+_flag+",'"+_rmk+"','"+_adm+"')";
你那个变量没加单引号跟双引号大哥。
但是 为何 时分秒还是出不来?
'YYYY-MM-DD HH24:MI:SS'这样形式的String变量就行了,先试试
'"+_opr+"',sysdate,
或者
'"+_opr+"',to_date('1984-33-44','YYYY-MM-DD hh24:mi:ss')