社区
Web 开发
帖子详情
关于PreparedStatement的setObject的问题
u013787528
2014-10-25 07:06:19
为什么setObject时setInt类型就报错? 下面是代码
for(int i=0;i<params.length;i++){
pstmt.setObject(i+1, params[i]);
}
...全文
622
4
打赏
收藏
关于PreparedStatement的setObject的问题
为什么setObject时setInt类型就报错? 下面是代码 for(int i=0;i<params.length;i++){ pstmt.setObject(i+1, params[i]); }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
零借口
2014-11-10
打赏
举报
回复
lz说一下怎么解决的啊!!!
tony4geek
2014-11-05
打赏
举报
回复
应该不报错的
keia
2014-11-05
打赏
举报
回复
原因是什麼。。怎麼解决的。。分享一下呀。楼主太没有分享精神了。。
u013787528
2014-10-25
打赏
举报
回复
已经解决了!
关于Pre
pa
red
Statement
插入Date类型值的方法.txt
关于Pre
pa
red
Statement
插入Date类型值的方法.txt
java项目之学生信息管理系统
pa
ckage cn.com.dao.chivementdao; import java.sql.Connection; import java.sql.Pre
pa
red
Statement
; import java.sql.Result
Set
; import java.sql.SQLException; import cn.com.util.DBConnection; import cn.com.util.DBSql; import cn.com.vo.chivementvo.ChivementVo; public class ExamDao { private Connection conn = DBConnection.getConnectionOracle(); private ChivementVo examVo; public ExamDao() { } public ExamDao(ChivementVo examVo) { super(); this.examVo = examVo; } /** * 全部查询 */ public
Object
[][] selectAll() {
Object
date[][] = null; int max = 0; int i = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(DBSql.SELECT_ALL); rs = ps.executeQuery(); // 得到列数 max = rs.getMetaData().getColumnCount(); date = new
Object
[getnumberAll(DBSql.SELECT_ALL_COUNT)][max]; while (rs.next()) { for (int j = 0; j < max; j++) { date[i][j] = rs.get
Object
(j + 1); } i++; } // rs.close(); // ps.close(); // conn.close(); } catch (SQLException e) { e.printStackTrace(); } return date; } /** * 根据学号查询 */ public
Object
[][] selectBySid() {
Object
date[][] = null; int max = 0; int i = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(DBSql.SELECT_BY_S_ID); ps.
set
Int(1, examVo.getS_id()); rs = ps.executeQuery(); // 得到列数 max = rs.getMetaData().getColumnCount(); date = new
Object
[getnumber(DBSql.SELECT_BY_S_ID_COUNT, examVo .getS_id())][max]; while (rs.next()) { for (int j = 0; j < max; j++) { date[i][j] = rs.get
Object
(j + 1); } i++; } // rs.close(); // ps.close(); // conn.close(); } catch (SQLException e) { e.printStackTrace(); } return date; } /** * 根据组号查询 */ public
Object
[][] selectByGid() {
Object
date[][] = null; int max = 0; int i = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(DBSql.SELECT_BY_G_ID); ps.
set
Int(1, examVo.getG_id()); rs = ps.executeQuery(); // 得到列数 max = rs.getMetaData().getColumnCount(); date = new
Object
[getnumber(DBSql.SELECT_BY_G_ID_COUNT, examVo .getG_id())][max]; while (rs.next()) { for (int j = 0; j < max; j++) { date[i][j] = rs.get
Object
(j + 1); } i++; } // rs.close(); // ps.close(); // conn.close(); } catch (SQLException e) { e.printStackTrace(); } return date; } /** * 根据课程号查询 */ public
Object
[][] selectByCid() {
Object
date[][] = null; int max = 0; int i = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(DBSql.SELECT_BY_C_ID); ps.
set
Int(1, examVo.getC_id()); rs = ps.executeQuery(); // 得到列数 max = rs.getMetaData().getColumnCount(); date = new
Object
[getnumber(DBSql.SELECT_BY_C_ID_COUNT, examVo .getC_id())][max]; while (rs.next()) { for (int j = 0; j < max; j++) { // System.out.println( examVo.getG_id()); date[i][j] = rs.get
Object
(j+1); } i++; } // rs.close(); // ps.close(); // conn.close(); } catch (SQLException e) { e.printStackTrace(); } return date; } /** * 根据姓名模糊查询 * * @return */ public
Object
[][] selectByName() {
Object
date[][] = null; int max = 0; int i = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(DBSql.SELECT_BY_S_NAME); ps.
set
String(1, examVo.getS_name()); ps.
set
String(2, "%" + examVo.getS_name() + "%"); ps.
set
String(3, "%" + examVo.getS_name()); ps.
set
String(4, examVo.getS_name() + "%"); rs = ps.executeQuery(); // 得到列数 max = rs.getMetaData().getColumnCount(); date = new
Object
[getnumberByName(DBSql.SELECT_BY_S_NAME_COUNT, examVo.getS_name())][max]; while (rs.next()) { for (int j = 0; j < max; j++) { date[i][j] = rs.get
Object
(j + 1); } i++; } } catch (SQLException e) { e.printStackTrace(); } return date; } /** * 根据课程名称模糊查询 * * @return */ public
Object
[][] selectByClassName() {
Object
date[][] = null; int max = 0; int i = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(DBSql.SELECT_BY_CLASS_NAME); ps.
set
String(1, examVo.getClass_name()); ps.
set
String(2, "%" + examVo.getClass_name() + "%"); ps.
set
String(3, "%" + examVo.getClass_name()); ps.
set
String(4, examVo.getClass_name() + "%"); rs = ps.executeQuery(); // 得到列数 max = rs.getMetaData().getColumnCount(); date = new
Object
[getnumberByName(DBSql.SELECT_BY_CLASS_COUNT, examVo.getClass_name())][max]; while (rs.next()) { for (int j = 0; j < max; j++) { date[i][j] = rs.get
Object
(j + 1); } i++; } } catch (SQLException e) { e.printStackTrace(); } return date; } /** * 修改选中学生的成绩 * */ public void updatSelectClass() { Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(DBSql.UPDATE_EXAM_BY_STUID); ps.
set
Int(1, examVo.getClassExamChivement()); ps.
set
Int(2, examVo.getS_id()); ps.
set
Int(3, examVo.getC_id()); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } /** * 得到所有课程号和课程名 * * @return */ public String[] getClassNoName() { String[] classNoName = null; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; int j = 0; try { int i = getnumberAll(DBSql.SELECT_CLASS_NAME_COUNT); classNoName = new String[i + i]; ps = conn.pre
pa
re
Statement
(DBSql.SELECT_CLASS_NAME); rs = ps.executeQuery(); while (rs.next()) { classNoName[j] = rs.getString(1); classNoName[j + i] = rs.getString(2); j++; } } catch (SQLException e) { e.printStackTrace(); } return classNoName; } /** * 根据科目修改成绩 查询学号 姓名 成绩 * */ public void SelectClassStuName() { int i = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; int j = getnumberBySelectClassName( DBSql.SELECT_CLASS_STU_SNO_SNAME_EXAM_COUNT, examVo.getC_id()); int[] sNum = new int[j]; String[] sName = new String[j]; int[] classExam = new int[j]; try { ps = conn.pre
pa
re
Statement
(DBSql.SELECT_CLASS_STU_SNO_SNAME_EXAM); ps.
set
Int(1, examVo.getC_id()); rs = ps.executeQuery(); while (rs.next()) { sNum[i] = rs.getInt(1); sName[i] = rs.getString(2); classExam[i] = rs.getInt(3); i++; } } catch (SQLException e) { e.printStackTrace(); } examVo.
set
Sid(sNum); examVo.
set
Sname(sName); examVo.
set
ClassExam(classExam); } /** * 根据科目修改成绩 查询学号 姓名 成绩 后修改成绩 * */ public void UpdateClassStuName() { // int i = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; int j = getnumberBySelectClassName( DBSql.SELECT_CLASS_STU_SNO_SNAME_EXAM_COUNT, examVo.getC_id()); try { ps = conn.pre
pa
re
Statement
(DBSql.UPDATE_CHIVEMENT_BY_CLASS); for(int i =0;i
setInt(1, examVo.getClassExam()[i]); ps.
set
Int(2, examVo.getSid()[i]); ps.
set
Int(3, examVo.getC_id()); ps.executeUpdate(); } } catch (SQLException e) { e.printStackTrace(); } } /** * 全部查询获得行数 * * @return */ public int getnumberAll(String str) { int number = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(str); rs = ps.executeQuery(); rs.next(); number = rs.getInt(1); // rs.close(); // ps.close(); // conn.close(); } catch (SQLException e) { e.printStackTrace(); } return number; } /** * 根据学号 根据组号 根据课程号查询 获得行数 * * @return */ public int getnumber(String str, int i) { int number = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(str); ps.
set
Int(1, i); rs = ps.executeQuery(); rs.next(); number = rs.getInt(1); // rs.close(); // ps.close(); // conn.close(); } catch (SQLException e) { e.printStackTrace(); } return number; } /** * 根据姓名 课程名 查询 获得行数 * */ public int getnumberByName(String str, String i) { int number = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(str); ps.
set
String(1, i); ps.
set
String(2, "%" + i + "%"); ps.
set
String(3, "%" + i); ps.
set
String(4, i + "%"); rs = ps.executeQuery(); rs.next(); number = rs.getInt(1); } catch (SQLException e) { e.printStackTrace(); } return number; } // /** // * 根据课程名查询 获得行数 // * // */ // // public int getnumberByClassName(String str, String i) { // int number = 0; // Pre
pa
red
Statement
ps = null; // Result
Set
rs = null; // try { // ps = conn.pre
pa
re
Statement
(str); // ps.
set
String(1, i); // ps.
set
String(2, "%" + i + "%"); // ps.
set
String(3, "%" + i); // ps.
set
String(4, i + "%"); // rs = ps.executeQuery(); // rs.next(); // number = rs.getInt(1); // } catch (SQLException e) { // e.printStackTrace(); // } // return number; // } /** * * 根据课程名修改成绩获得行数 * * @
pa
ram str * @
pa
ram i * @return */ public int getnumberBySelectClassName(String str, int i) { int number = 0; Pre
pa
red
Statement
ps = null; Result
Set
rs = null; try { ps = conn.pre
pa
re
Statement
(str); ps.
set
Int(1, i); rs = ps.executeQuery(); rs.next(); number = rs.getInt(1); } catch (SQLException e) { e.printStackTrace(); } return number; } }
Pre
pa
red
Statement
的
set
Object
【Pre
pa
red
Statement
的
set
Object
的作用和
set
String的作用是一样的!】 2015-01-31 01:59 1757人阅读 评论(0) 收藏 举报 分类: web入门(3) 版权声明:本文为博主原创文章,未经博主允许不得转载。 【Pre
pa
red
Statement
的
set
Object
的作用和
set
String
Pre
pa
red
Statement
的
set
Object
作用
前言 在了解
set
Object
作用前讲解一下Pre
pa
red
Statement
这个接口,然后循序渐进从
set
Xxx()方法讲解到
set
Object
。 Pre
pa
red
Statement
java.sql包中的Pre
pa
red
Statement
接口继承了
Statement
接口,Pre
pa
red
Statement
对象可以防止sql注入,而
Statement
不能防止sql注入,所以实际开发的时候千万不要使用
Statement
。 SQL注入: 比如我的SQL语句为: select * from user wher
JDBC中关于Pre
pa
red
Statement
.
set
Object
的一些细节说明
JDBC中Pre
pa
red
Statement
.
set
Object
(index,
Object
)方法, 1、index从1开始 2、在插入时间格式的字段时,此处的
Object
格式必须是java.sql.Date的对象 3、Oracle表中date格式可以表示年月日时分秒 4、从表中取出对象封装到JavaBean对象中,字段类型可以直接为java.util.Date
Web 开发
81,091
社区成员
341,719
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章