Java 使用JList通过JDBC将tabledata保存到数据库

Java 使用JList通过JDBC将tabledata保存到数据库,java,sql,string,jdbc,truncate,Java,Sql,String,Jdbc,Truncate,首先,我想指出的是,当有一行信息时,这是有效的,但由于某些原因,当有很多信息时,这是无效的。。。这就是我的问题所在。。。由于代码相当长,我将以片段形式发布: int count = jTable1.getRowCount(); for(int i=0;i<count;i++){ //uusi muodostus// SET0listm.add(i, txtTestiNIMI1.getText()); System.out.println("SE

首先,我想指出的是,当有一行信息时,这是有效的,但由于某些原因,当有很多信息时,这是无效的。。。这就是我的问题所在。。。由于代码相当长,我将以片段形式发布:

   int count = jTable1.getRowCount();

 for(int i=0;i<count;i++){
//uusi muodostus//


        SET0listm.add(i, txtTestiNIMI1.getText());
        System.out.println("SET0"+SET0listm);
移动到字符串并删除所有类似的额外部分:

    String SET0listmtostring = SET0listm.toString();
        SET0listmtostring = removeChar(SET0listmtostring, ']');
        SET0listmtostring = removeChar(SET0listmtostring, '[');

String sqla1 = "INSERT INTO MIT(MTY_KOD,MTY_TYY,MTY_ALU,MTY_PAR1,MTY_PAR2,MTY_TOL,MTY_KAN,MTY_DATE) "+"VALUES (?,?,?,?,?,?,?,?)";

 try{
   pst = conn.prepareStatement(sqla1);

   pst.setString(1, SET0listmtostring);
   pst.setString(2, SET2listmtostring);
   pst.setString(3, SET1listmtostring);
   pst.setString(4, SAVEDlistmtostring); 
   pst.setString(5, SAVED3listmmtostring); 
   pst.setString(6, SAVED5listmmtostring); 
   pst.setString(7, SET3listmtostring); 
   pst.setString(8, SET2listmtostring); 
   pst.executeUpdate();}
   catch (Exception e) {
   System.out.println("MITCLAUSE "+e);
        }
最后一部分

MITCLAUSE com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.

Donno这里的问题是什么

鉴于错误,我怀疑您设置的一个字符串比声明的列长度长。在这种情况下,驱动程序必须抛出这样的异常


所以,检查字符串的长度,并将其与表中列的声明长度进行比较。

似乎通过绅士回答和为元素创建一个新循环的组合,将生成所需的表单,以便更快地提供更好的帮助。

如果您是正确的,我检查了,它实际上会重复代码太多次了…例如:SAVED8=[24,24,24,24]是我想要的。。。我得到的储蓄8=[24],[24,24],[24,24,24],[24,24,24]。。因此需要将代码更改为仅包含最大版本。其他大小没有错误,但将日期改为4次可能会产生过程错误,因为im使用varchar30 atm。。如果这样做可以解决将其输入数据库的问题。。。假设现在的问题是从它进入的1行移动到所有i行
MITCLAUSE com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.