请教高手!很急!
该程序后台数据库是Access
我用的是sun.jdbc.odbc.JdbcOdbcDriver驱动,
String sqlstr = "INSERT INTO mp_report_volume (ipcc_code, volume_name,"+
"start_date, end_date, mpflow_code) VALUES ('"+pContractNumber+"', ?, ?, ?, ?)";
con.setAutoCommit(false);//关闭自动提交
pre = con.prepareStatement(sqlstr);//声明执行
//设置参数
pre.setString(1,hashtable.get(KEYDefine.VOLUME_NAME).toString());
pre.setDate(2,Date.valueOf(hashtable.get(KEYDefine.START_DATE).toString()));
pre.setDate(3,Date.valueOf(hashtable.get(KEYDefine.END_DATE).toString()));
pre.setString(4,hashtable.get(KEYDefine.FLOW_NUMBER).toString());
pre.executeUpdate();
由于字段ipcc_code 内容比较多,我把它的数据类型由文本 250改为备注类型。
Access帮助上查找的内容如下:
文本类型最多为 255 个字符或长度小于 FieldSize 属性的设置值。
备注类型 最多为 65,535 个字符(如果 Memo 字段是通过 DAO 来操作并且只有文本和数字 [非二进制数据] 保存在其中,则 Memo 字段的大小受数据库大小的限制)。
但是插入到数据库的内容还是做了截取。
如 当ipcc_code对应的参数pContractNumber内容为:500个字符的内容
执行完这段sql后存到数据库却为352个字符
,后面的148个字符全部截取掉了。当pContractNumber为391个字符时,数据库只保存了348个字符。
不知道为什么?请您不吝赐教