当前位置: 代码迷 >> Eclipse >> 修改数据库的SQL如何写
  详细解决方案

修改数据库的SQL如何写

热度:93   发布时间:2016-04-23 01:13:49.0
修改数据库的SQL怎么写?
我用的Access 四个字段 ExorIn(String类型) Money(Double类型)Date(date类型)Remark(String类型)
现在需要修改数据库
sssql="UPDATE "+tableName+" SET ExorIn=?,Money=?,Date=?,Remark=? WHERE Num="+SNo;
PreparedStatement ps = con.prepareStatement(sssql);
ps.setString(1, sei);//sei为String型,已赋值
ps.setDouble(2, SMoney);//SMoney为double型,已赋值
ps.setString(3, SDate);//SDate为date型
ps.setString(4, SRemark);//SRemark为String型
ps.executeUpdate();

这是我之前写的,一直没有任何效果,数据库也不会改动
之后我去掉了Money和Date改成

sssql="UPDATE "+tableName+" SET ExorIn=?,Remark=? WHERE Num="+SNo;
PreparedStatement ps = con.prepareStatement(sssql);
ps.setString(1, sei);//sei为String型,已赋值
ps.setString(2, SRemark);//SRemark为String型
ps.executeUpdate();

一切正常,ExorIn和Remark可以正常修改
这是什么原因?好像是只有String型的有用
我也试过把具体数据直接写入SQL语句

sssql="UPDATE "+tableName+" SET ExorIn=?,Money=1000,Date='2013/9/3',Remark=? WHERE Num="+SNo;

结果也是整体失效,数据库不会有任何改动
到底是什么原因?是不是我SQL语句的问题呢?

------解决方案--------------------
Money后面的逗号是中文的?
------解决方案--------------------
首先,你的Date型和数据库中的Date型是一种形式么?
第二,如果提交不成功一般是会有异常的,你提交的时候没有异常么?
第三,最后一句失败的原因是不是因为有中文的","呢?直接写入的时候使用的是?号
------解决方案--------------------
引用:
首先,你的Date型和数据库中的Date型是一种形式么?
第二,如果提交不成功一般是会有异常的,你提交的时候没有异常么?
第三,最后一句失败的原因是不是因为有中文的","呢?直接写入的时候使用的是?号


太仔细了。顶一下,搂住也给俺点分吧。哈哈,混论坛就是为了一点辛苦钱哈。
------解决方案--------------------
第一,你要检查数据库是否连接成功了。
第二,你要查看数据类型是否相同,最好都换成string类型的,反正我用数据库的时候都会转换成string类型的,怕错。
第三,代码,是不是有错误。
第四,sql语句是不是有错,中文与纯int的使用差别很大,你最好检查一下。
  相关解决方案