当前位置: 技术问答>java相关
setObject()问题
来源: 互联网 发布时间:2015-11-12
本文导语: 使用PreparedStatment的setObject来绑定一个长度为3000的英文字符串。数据库对应字段为vchar2(4000),抛出异常,字符串长度太大。 如果不绑定而直接写在PreparedStatment的构造方法的参数里则可以插入成功。即 String s = "aaaaaaa...
使用PreparedStatment的setObject来绑定一个长度为3000的英文字符串。数据库对应字段为vchar2(4000),抛出异常,字符串长度太大。
如果不绑定而直接写在PreparedStatment的构造方法的参数里则可以插入成功。即
String s = "aaaaaaa...."// 长度3000
String strSql="insert into a(dd) values('" + s +')";
PreparedStatment pstmt.(strSql);
则可以插入。
而,
String s = "aaaaaaa...."// 长度3000
String strSql="insert into a(dd) values('?')";
PreparedStatment pstmt.(strSql);
pstmt.setObject(1,s);
则抛出异常。数据库Oracle 8.1.7 ;jdk1.3.1. 这是一个BUG吗?如果要用setObject()怎么解决这个问题?
如果不绑定而直接写在PreparedStatment的构造方法的参数里则可以插入成功。即
String s = "aaaaaaa...."// 长度3000
String strSql="insert into a(dd) values('" + s +')";
PreparedStatment pstmt.(strSql);
则可以插入。
而,
String s = "aaaaaaa...."// 长度3000
String strSql="insert into a(dd) values('?')";
PreparedStatment pstmt.(strSql);
pstmt.setObject(1,s);
则抛出异常。数据库Oracle 8.1.7 ;jdk1.3.1. 这是一个BUG吗?如果要用setObject()怎么解决这个问题?
|
用setString 试试?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。