问题1.是不是dml(增加,删除,修改)语句都用executeUpdate方法?
问题2.executeUpdate()与executeUpdate(String sql)方法有什么区别?应该没有吧
问题2.executeUpdate()与executeUpdate(String sql)方法有什么区别?应该没有吧
解决方案 »
- 构造函数 SQLException(String, SQLException)未定义
- 初学hibernate,一个异常总是解决不了
- 帮我看一下这个软件多少钱呀
- 在线等 *一个关于字符串的问题???
- 国际化时native2ascii.exe问题,急!
- 为什么老出现javax.servlet包不存在?
- 可不可以把一个Object对象转换为数值类型(如int)?在线等
- 我用Tomcat5.0的SetCharacterEncodingFilter时遇到的问题
- 实体bean问题100分(高手请进)
- 这难道是jb7的bug吗?大家进来看看,帮up也有分,谢谢!!
- MapForce生成的xml乱码问题
- JAVA SDK有多少种? SE SDK? EE SDK ? ME SDK?有没有一个SDK通杀EE/SE/ME。
例,Connection conn = null;
Statement s = null;
String sql="insert into Users values(1,'admin','admin') "; --(根据sql语句的不同,执行不同操作)
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(Exception e){
e.printStackTrace();
}
conn = DriverManager.getConnection("jdbc:odbc:news","sa","sa");
s = conn.createStatement();
s.executeUpdate(sql);
问题二:
1. ResultSet executeQuery(String sql); 执行SQL查询,并返回ResultSet 对象。
2.int executeUpdate(String sql); 可执行增,删,改,返回执行受到影响的行数。
3. boolean execute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet 。
executeUpdate(String sql) 这是 PreparedStatement 从父接口 Statement 中继承过来的方法executeUpdate() 中执行 SQL 语句需要在创建 PerparedStatement 时通过 Connection 的 prepareStatement(String sql) 方法中写出,因为 PerparedStatement 中的 SQL 语句数据库需要进行预编译和缓存,因此要在创建 PerparedStatement 对象时给出 SQL 语句。而 executeUpdate(String sql) 是 Statement 中的方法,参数中的 SQL 语句只是提交给数据库去执行,并不需要预编译。如果 SQL 语句中有 ? 占位符,那么在设置好占位符中的值后,必须使用 executeUpdate() 执行。而 executeUpdate(String sql) 只是提交一个 SQL 语句,且这个语句中不能带有 ? 占位符。
再帮LZ 下个例子便于理解..
Connection conn = null;
PreparedStatement s = null;--(Statement换成了PreparedStatement )
String sql="insert into Users values(?,?,?) "; --(?这个是占位符)
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(Exception e){
e.printStackTrace();
}
conn = DriverManager.getConnection("jdbc:odbc:news","sa","sa");
s = conn.prepareStatement(sql);--(通过conn对象创建prepareStatement对象s)
s.setInt(1,1);--(设置values中的值,1,2,3代表顺序,后面的表示要插入的值)
s.setString(2,"admin");
s.setString(3,"admin");
s.executeUpdate();--(执行executeUpdate())
executeUpdate() 用来执行增,删,改。
如果是查询,则要用executeQuery()
...LZ对比第一个例子的看下
PreparedStatement既然是从Statement继承过来的,可不可以完全把Statement他当成PreparedStatement来用呢?
PreparedStatement既然是从Statement继承过来的,可不可以完全把PreparedStatement他当成Statement来用呢?
executeUpdate(String sql) 这是 PreparedStatement 从父接口 Statement 中继承过来的方法