当前位置: 代码迷 >> Java相关 >> PrepareStatement(sql预处理类)
  详细解决方案

PrepareStatement(sql预处理类)

热度:973   发布时间:2007-06-06 18:44:06.0
PrepareStatement(sql预处理类)

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class test {
static Connection con=null;
Statement stmt;

public static void main(String[] args) {
if(!db2.conn1("jdbc:odbc:test","sa","13481399975")){
JOptionPane.showMessageDialog(null,"erer");
System.exit(0); }
System.out.println("ok");
String sql="select * from s where sno like ? and sname like ?";
try {
PreparedStatement pstmt = db2.con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
pstmt.setString(1,"%");
pstmt.setString(2,"%");
ResultSet rs = pstmt.executeQuery();
rs.beforeFirst() ;
boolean flag=rs.next();
System.out.println(flag);
System.out.println(rs.getString(1));
} catch (SQLException e) {

e.printStackTrace();
}
}
}
错误:

ok
false
java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 无效的游标状态
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3907)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5698)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:354)
at test.main(test.java:41)

搜索更多相关的解决方案: sql  import  java  预处理  

----------------解决方案--------------------------------------------------------

你查一下,看是不是你的rs.beforeFirst();里该跟什么参数或者是方法名好像F是不是该大写?


----------------解决方案--------------------------------------------------------

本来就在最前面,你还把人家弄到before最前面?


----------------解决方案--------------------------------------------------------
3Q
----------------解决方案--------------------------------------------------------
有没有C版本的 ??

----------------解决方案--------------------------------------------------------