PreparedStatement对象(将SQL语句传给数据库作预编译,效率高)
PreparedStatement示例
package jdbcpkg;
import java.sql.*;
public class DBConn {
private Connection dataconn = null;
public DBConn() {
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
dataconn = DriverManager.getConnection("jdbc:odbc:MyJdbcOdbcSQL","sa","");
}
catch(Exception e){
System.out.println(e.toString());
}
}
public void getJobsInfo(){
try{
PreparedStatement pstmt = dataconn.prepareStatement("select * from jobs");
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getString("job_desc"));
}
rs.close();
pstmt.close();
}
catch(Exception e){
System.out.println(e.toString());
}
}
//PreparedStatement对象上的查询语句和更新语句都可以设置输入参数。
//在生成PreparedStatement对象时,在SQL语句中用 '?' 标明参数。
//在执行SQL语句之前,使用setXXX()方法给参数赋值,然后使用executeQuery()
//executeUpdate()执行SQL语句。
//setXXX()方法用于给相应的输入参数赋值。如:setInt()、setString()等。
//setXXX()方法自身有两个参数:
//1. 所要赋值的SQL参数的位置,从1开始。
//2. 所要赋的值。如:100、“OK”等,随XXX的不同而使用不同的类型。
//如:setInt(1,110);
public void setJobsData(){
try{
PreparedStatement pstmt = dataconn.prepareStatement("insert into jobs values(?,?,?)");
pstmt.setString(1,"OK Description");
pstmt.setInt(2,20);
pstmt.setInt(3,90);
int intCount = pstmt.executeUpdate();
System.out.println(“已向jobs表中插入” + intCount + “条记录!”);
pstmt.setString(1,"Welcome to chongqing");
pstmt.setInt(2,30);
pstmt.setInt(3,100);
intCount = pstmt.executeUpdate();
System.out.println("已向jobs表中插入" + intCount + "条记录!");
pstmt.close();
}
catch(Exception e){
System.out.println(e.toString());
}
}
public static void main(String args[]){
DBConn c = new DBConn();
c.getJobsInfo();
}
}