问题描述
由于项目的需要,将字段siteMap类型改为text,因此在java程序中一些jdbc插入、查询的方法connection.prepareStatement()等结果只截取长字符串的一部分,请问这是怎么回事,怎么解决这个问题?辛苦各位了,使劲给分备注:数据库是sqlserver2000
解决方案
解决方案二:
在sql语句中进行截取,不要放到代码中
解决方案三:
引用1楼dyllove98的回复:
在sql语句中进行截取,不要放到代码中
怎么截取,能不能详细点啊?我的方法是这样的:其中,siteMap是text类型StringcreateSql="insertintobbs_site(name,url,siteMap,classId,description,stat,tmpl_id)values(?,?,?,?,?,0,?)";DBExecutordb=newDBExecutor();intnum=0;try{db.createPreparedStatement(createSql);db.setString(1,siteInfo.getName());db.setString(2,siteInfo.getUrl());db.setString(3,siteInfo.getSiteMap());db.setString(4,siteInfo.getClassId());db.setString(5,siteInfo.getDescription());db.setInt(6,siteInfo.getTmplId());num=db.exePreparedUpdate();}catch(SQLExceptione){throwe;}finally{try{db.closeAll();}catch(RuntimeExceptione1){}}returnnum;
解决方案四:
我在2005上做过,不会发生截断现象。请问你是如何判断数据已被截断了呢?
解决方案五:
引用3楼magong的回复:
我在2005上做过,不会发生截断现象。请问你是如何判断数据已被截断了呢?
每次通过jdbc查询出来后,字符都只显示前面一些字符串,经验证显示前30个字符。