看样子不是参数类型的问题,
用setFloat(2,1000)和setDouble(2,1000);都可以import java.sql.*;
public class TestSqlServer{
public static void main(String[] args){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
Connection con = DriverManager.getConnection(url,"sa","sa");
System.out.println("diver is ok"); String sql = "insert into emp values (?,?)";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1,"aaa");
pst.setDouble(2,1000);
pst.executeUpdate();
System.out.println("Update is ok");
}catch(Exception e){
e.printStackTrace();
}
}
};

解决方案 »

  1.   

    http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/zh/html/dbrfzh9/00000104.htm这个看一看先。下面是 MS JDBC 文档中提供的,小写是 SQL Server Data Type,大写是 JDBC Data Type:bigint BIGINT 
    bigint identity BIGINT 
    binary BINARY 
    bit BIT 
    char CHAR 
    datetime TIMESTAMP 
    decimal DECIMAL 
    decimal() identity DECIMAL 
    float FLOAT 
    image LONGVARBINARY 
    int INTEGER 
    int identity INTEGER 
    money DECIMAL 
    nchar CHAR 
    ntext LONGVARCHAR 
    numeric NUMERIC 
    numeric() identity NUMERIC 
    nvarchar VARCHAR 
    real REAL 
    smalldatetime TIMESTAMP 
    smallint SMALLINT 
    smallint identity SMALLINT 
    smallmoney DECIMAL 
    sql_variant VARCHAR 
    sysname VARCHAR 
    text LONGVARCHAR 
    timestamp BINARY 
    tinyint TINYINT 
    tinyint identity TINYINT 
    uniqueidentifier CHAR 
    varbinary VARBINARY 
    varchar VARCHAR