將 numeric 轉換為數據類型 numeric 時出現算術溢出錯誤


保存數據時控制台報錯:

 1 Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 將 numeric 轉換為數據類型 numeric 時出現算術溢出錯誤。
 2     at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
 3     at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)
 4     at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
 5     at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
 6     at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
 7     at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
 8     at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
 9     at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
10     at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:314)
11     at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeUpdate(FilterChainImpl.java:2717)
12     at com.alibaba.druid.filter.FilterAdapter.preparedStatement_executeUpdate(FilterAdapter.java:1052)
13     at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeUpdate(FilterEventAdapter.java:491)
14     at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeUpdate(FilterChainImpl.java:2715)
15     at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeUpdate(PreparedStatementProxyImpl.java:106)
16     at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:237)
17     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
19     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
20     at java.lang.reflect.Method.invoke(Method.java:498)
21     at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122)
22     ... 91 more
View Code

數據庫長度比例(SqlServer字段長度和比例指什么意思?)

NUMERIC(P,S) P的默認值是:38 S的默認值是:-84~127
numeric(a,b)函數有兩個參數,前面一個為總的位數,后面一個參數是小數點后的位數,例如numeric(5,2)是總位數為5,小數點后為2位的數,也就是說這個字段的整數位最大是3位。

前台傳來的參數為格式不對

添加前台文本框進行校驗:

1 onkeyup= "if( !/^(((\d|[1-9]\d|[1-9]\d[1-8])(\.\d+)?)|(999(\.\d{1,2})?))$/.test(this.value)){
2                            alertTip('不得超過1000,保留小數點后2位');
3                            this.value='';
4                        }"
View Code

后台接收參數后也要校驗(略)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM