当前位置: 代码迷 >> Java相关 >> 标准表达式中数据类型不匹配
  详细解决方案

标准表达式中数据类型不匹配

热度:209   发布时间:2008-05-24 17:43:22.0
标准表达式中数据类型不匹配
double cost=0;

cost=Double.parseDouble(rsd.getString( "end"))-Double.parseDouble(rsd.getString( "start"));
Statement sql=con.createStatement();
int rs=sql.executeUpdate("update stu set 余额=(余额-"+cost+") where 卡号='"+jComboBox2.getSelectedItem().toString()+"'"
);
end 和start 是自1900年以后的毫秒数 我的余额数据类型无论是双精度 还是长整形 都报错
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)

都改成Integert也不行 这是怎么回事?
搜索更多相关的解决方案: 式中  quot  整形  类型  数据  

----------------解决方案--------------------------------------------------------
表是如何建的
还有,你怎么会用中文做列名呢?
----------------解决方案--------------------------------------------------------
回复 2# 千里冰封 的帖子
我用的数据库是ACCESS  用中文做列名没问题吧  我的表名 叫 stu  里面有卡号 余额 等列
----------------解决方案--------------------------------------------------------
回复 3# bao 的帖子
用中文字符做字段名是会出问题的,迟早的事,必然事件!!!
其他的错误先放一边!
----------------解决方案--------------------------------------------------------
哦 好的 我以后改正 那我现在的问题该如何解决?
----------------解决方案--------------------------------------------------------
其中的end和start字段 来自一个叫event的表 表示当前日期的毫秒数 当我用表格显示这个event
的表时 运行的时候只显示第一行 报错
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]非法的描述器索引
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLColAttributes(JdbcOdbc.java:2613)
at sun.jdbc.odbc.JdbcOdbcResultSet.getColAttribute(JdbcOdbcResultSet.java:5444)
at sun.jdbc.odbc.JdbcOdbcResultSet.getColumnType(JdbcOdbcResultSet.java:6055)
at sun.jdbc.odbc.JdbcOdbcResultSet.getMaxCharLen(JdbcOdbcResultSet.java:5472)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:278)
而且我发现其中的日期是1899年12月30日的 所以我想可能是日期出问题了
我的日期是这样写的
SimpleDateFormat sd=new SimpleDateFormat(" HH:mm:ss");
String str=sd.format(new Date());

Date date1=new Date();
long t1=date1.getTime();

jTextField2.setText(str);
jTextField1.setText(""+t1);
请各位看看这里有什么问题吗?
----------------解决方案--------------------------------------------------------
  相关解决方案