社区
Java SE
帖子详情
求助!关于PreparedStatement
jonkeyjohns
2004-01-10 06:03:41
我使用PreparedStatement来处理预编译的sql语句。
如果有一个字段(比如ID),类型是整型,自动编号(自动增加 auto incremet)
我不知道应该如何设置它的值
setInt("ID",0) 无法做到自动增加(永远是0)
setString("ID","")类型不匹配
……
应该如何处理??谢谢
...全文
154
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
概述在数据库的操作过程中,Pre
pa
red
Statement
对象是一个很不起眼但是记为重要的接口对象,它继承 于
Statement
,并与之在两方面有所不同:1)Pre
pa
red
Statement
实例包含已编译的 SQL 语句。这就是使语句“准备好”。包含于 Pre
pa
red
Statement
对象中的 SQL 语句可具有一个或多个 IN 参数。
Pre
pa
red
Statement
Pre
pa
red
Statement
解决SQL注入1.
Statement
存在的问题Stetement存在SQL注入漏洞,换用Pre
pa
red
Statement
(预处理SQL)2. Pre
pa
red
Statement
执行步骤Pre
pa
red
Statement
使用Demo 上一回我们通过JDBC实现数据库增删改查,但是还是存在一个很大的问题. 今天七夕,我们不谈感情,只谈技术 1. State...
Pre
pa
red
Statement
对象
5.Pre
pa
red
Statement
: 执行sql的对象,但是功能更强大 1.SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题 1.输入用户随便,输入密码:a’ or ‘a’ = ‘a 2.sql: select * from user where username = ‘sadfgds’ and
pa
ssword = ‘a’ or ‘a’ = ‘a’ 2.解决sql注入问题:使用Pre
pa
red
Statement
对象来解决 3.预编译的SQL:参数
mysql pre
pa
red
statement
_关于Pre
pa
red
Statement
你知道多少
序言 对应Pre
pa
red
Statement
相信大家都很熟悉,那么为什么要用Pre
pa
red
Statement
呢?也许你会回答Pre
pa
red
Statement
为预处理语句,可以提高数据库执行效率。也许还会回答用Pre
pa
red
Statement
可以防止SQL注入。那么再问下,你觉得你对Pre
pa
red
Statement
有足够序言对应Pre
pa
red
Statement
相信大家都很熟悉,那么为什么要...
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章