float to decimal

  • Hi I have SQL Server 2000 - 8.00.2066 (Intel X86)

    Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)

    with a Java Application (1.5)

    I have a sqlserver.jdbc.SQLServerException:

    Error converting data type float to decimal from a stored procedure.

    So, I needed to increase the max size in the column, so I increased the column from 8,2 to 9,2 with a

    ALTER COLUMN [total_m] [decimal](9, 2) NOT NULL

    That works, now with SQL, I can insert a value of 1,000,000.00 into this column. doubleValue() should hold the million.

    When the application runs, it uses a stored procedure to insert the data

    HOWEVER the save FAILS with the

    Error converting data type float to decimal from a stored procedure.

    Here is the basics of the stored procedure :

    (I scaled this down to the relevant info:)

    qq_SQL = "{? = call usp_temp_ins(? )}";

    qq_call = this.getTheDBSession().getCallableStatement(qq_SQL);

    qq_call.registerOutParameter(1, Types.INTEGER);

    --// handle return codes

    qq_call.registerOutParameter(2, java.sql.Types.INTEGER);

    qq_call.registerOutParameter(3, java.sql.Types.INTEGER);

    qq_call.registerOutParameter(4, java.sql.Types.INTEGER);

    --

    if (((Temp)p_Tempp.getObject()).getTotal_m() == null)

    qq_call.setNull(1, Types.DOUBLE);

    else

    qq_call.setDouble(1, ((Temp)p_Temp.getObject()).getTotal_m().doubleValue());

    qq_call.execute();

    ((Temp)p_Temp.getObject()).setM_id(qq_call.getInt(2));

    row_count = qq_call.getInt(3);

    ret_code = qq_call.getInt(4);

    qq_RowCount = (DataValue)FrameworkUtils.mapToDataValue(qq_call.getObject(1));

    }

    Any suggestions very much appreciated.

  • Seems to be more of an issue with the precision you are setting with your decimal data type i.e. (9,2) - determine the maximum number of decimal places in the float column, then increase the precision to match that number

    ______________________________________________________________________________Never argue with an idiot; Theyll drag you down to their level and beat you with experience

  • It turns out I was looked at the wrong stored procedure

    After I altered the correct stored procedure to match the table alter it worked fine.

    Thanks for the help !

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply