关于带参调用查询语句的问题
我在使用SQLSERVER的带参查询使JBUILDER提示错误
原码:
package SQLServer;
import java.sql.*;
import java.io.*;
//该程序利用在查询语句中假如参数传递的方式执行查询
public class PrepareStatement
{
public static void main(String[] args) throws SQLException,Exception
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("ok");
Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://YUANYUNFEI:1433;DatabaseName=pubs","sa","");
//以下就是参数传递查询的实现,连接ACCESS参数变量为?,SQLSERVER应为@x
PreparedStatement sm=con.prepareStatement("SELECT @1,@2 FROM jobs");
sm.setString(0,"job_id");
sm.setString(1,"job_desc");
ResultSet rs=sm.executeQuery();
while(rs.next())
{
System.out.print(rs.getInt("job_id"));
System.out.print(" ");
System.out.println(rs.getString("job_desc"));
}
con.close();
}
}
错误提示:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid parameter binding(s). at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.base.BasePreparedStatement.validateParameterIndex(Unknown Source) at com.microsoft.jdbc.base.BasePreparedStatement.setObjectInternal(Unknown Source) at com.microsoft.jdbc.base.BasePreparedStatement.setString(Unknown Source) at SQLServer.PrepareStatement.main(PrepareStatement.java:14)Exception in thread "main"