社区
Java SE
帖子详情
求助!关于PreparedStatement
jonkeyjohns
2004-01-10 06:03:41
我使用PreparedStatement来处理预编译的sql语句。
如果有一个字段(比如ID),类型是整型,自动编号(自动增加 auto incremet)
我不知道应该如何设置它的值
setInt("ID",0) 无法做到自动增加(永远是0)
setString("ID","")类型不匹配
……
应该如何处理??谢谢
...全文
134
7
打赏
收藏
求助!关于PreparedStatement
我使用PreparedStatement来处理预编译的sql语句。 如果有一个字段(比如ID),类型是整型,自动编号(自动增加 auto incremet) 我不知道应该如何设置它的值 setInt("ID",0) 无法做到自动增加(永远是0) setString("ID","")类型不匹配 …… 应该如何处理??谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jonkeyjohns
2004-01-10
打赏
举报
回复
感谢danceflash(Wine)
只要不为这个字段赋值就可以了
再次感谢
comcy
2004-01-10
打赏
举报
回复
PreparedStatement有你这么用的嘛?
你可以在那个地方用变量的:
sql=insert into table (id,name)values(?,?)
PreparedStatement ps = connection.prepareStatement(sql);
pstmt.setInt(1,id);
pstmt.setString(2,name);
ResultSet rs = ps.execute();
danceflash
2004-01-10
打赏
举报
回复
如果你在创建数据库表的时候,告诉数据库,id这个字段是自增的
那么,你的insert语句中不应该有id这个字段的赋值,那已经由数据库负责了
如果数据库表中没有这样的设计,只是你想在程序中实现
那你pstmt.setInt("id",0);这条语句的第二个参数应该是一个你来控制递增数字
jonkeyjohns
2004-01-10
打赏
举报
回复
我可能没说清楚,我要用的是预编译sql语句,不是普通sql语句
比如sql=insert into table (id,name)values(?,?)
id是数据库中自动编号的字段
如果是普通sql语句 insert int table (id,name) values('','jonkeyjohns'),就可以做到id自动增加了。
但是,我必须要用前者,预编译的sql语句。
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setInt("id",0)//出问题的地方
pstmt.setString("name","jonkeyjohns")
pstmt.executeUpdate();
seaman0916
2004-01-10
打赏
举报
回复
就是呀,不设置呀!在SQL语句中,添加新的记录,没说一定要指定指呀,除了定义为not null的字段.
zjlgigi
2004-01-10
打赏
举报
回复
是插入新记录还是修改旧记录插入新记录,插入新记录好像没有过必要设它的值吧,让数据库来搞就是了
zengpan_panpan
2004-01-10
打赏
举报
回复
一般给个空就行。
给0也行,程序上看起来永远是0,实际上数据库服务器会忽略这个0,弄一个自动增加的数上去。
Pre
pa
red
Statement
的使用
本文介绍Pre
pa
red
Statement
对象的概念及使用方法,包括预编译SQL语句、参数设置、执行操作等关键步骤,并通过一个具体的插入案例展示了Pre
pa
red
Statement
如何有效提升代码的可读性、可维护性和执行效率。
Pre
pa
red
Statement
的用法
本文详细介绍了Java中Pre
pa
red
Statement
接口的应用,包括Pre
pa
red
Statement
的基本概念、与
Statement
的区别、如何创建及设置参数、执行SQL语句的过程,以及一个完整的示例程序。
Pre
pa
red
Statement
本文探讨了使用Pre
pa
red
Statement
替代
Statement
来防止SQL注入攻击的方法。通过对比两种方式执行SQL语句的过程,展示了Pre
pa
red
Statement
如何通过预编译SQL语句和使用参数占位符来增强安全性。
Pre
pa
red
Statement
和
Statement
的区别
这篇博客探讨了Pre
pa
red
Statement
和
Statement
在Java JDBC中的区别。Pre
pa
red
Statement
提供预编译,提高效率并防止SQL注入,而
Statement
每次执行都需要编译且易受SQL注入攻击。通过示例代码,展示了Pre
pa
red
Statement
如何使用占位符设置参数,以及
Statement
的字符串拼接方式,强调了Pre
pa
red
Statement
的安全性和性能优势。
Java SE
62,622
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章