修改数据库的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型是一种形式么?
第二,如果提交不成功一般是会有异常的,你提交的时候没有异常么?
第三,最后一句失败的原因是不是因为有中文的","呢?直接写入的时候使用的是?号
[解决办法]