Java 需要说明:.setObject vs.setString并从GUI将列信息保存到数据库

Java 需要说明:.setObject vs.setString并从GUI将列信息保存到数据库,java,sql,jdbc,Java,Sql,Jdbc,我的代码有很多重复,所以我只会速记这些部分。我不知道我的代码有什么问题,因为没有报告错误。。只是什么都没发生 我正在使用netbeansgui、jdbc和mssql。我和你的关系很好 准备状态=pst 连接=连接 等等 我的目标是将文本和列保存到SQL中的单个resultset表中 该代码由private void在以下操作中激活: private void INSERT1saveCustomers() { int index=1; int count = jTable1.ge

我的代码有很多重复,所以我只会速记这些部分。我不知道我的代码有什么问题,因为没有报告错误。。只是什么都没发生

我正在使用netbeansgui、jdbc和mssql。我和你的关系很好 准备状态=pst 连接=连接 等等

我的目标是将文本和列保存到SQL中的单个resultset表中

该代码由private void在以下操作中激活:

 private void INSERT1saveCustomers() {
    int index=1;
    int count = jTable1.getRowCount();

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

        SET0 = new Object[1][count];
        SET0[0][i] = txtTestiNIMI1.getText(); }
然后将其引入我的两个SQL查询

String sqla1 = "INSERT INTO MIT(MTY_KOD,MTY_TYY,MTY_ALU,MTY_PARA1,MTY_PARA2,MTY_TOL,MTY_KAN) values(?,?,?,?,?,?,?)";
  try{
    pst = conn.prepareStatement(sqla1);

   pst.setObject(1, SET0);
   pst.setObject(2, SET2);
   pst.setObject(3, SET1);
   pst.setObject(4, SAVE);
   pst.setObject(5, SAVE3);
   pst.setObject(6, SAVE5);
   pst.setObject(7, SET3);
   rs = pst.executeQuery();
   }

catch(Exception e){}


 String sqlb1 = "INSERT INTO TEST(TET_KOD,TET_LUK,TET_ARE,TET_YRE,TET_PVF,TET_TEMP,TET_HUM,TET_DATE, TET_VIR, TET_ERR) values(?,?,?,?,?,?,?,?,?,?)";
 try{
       pst = conn.prepareStatement(sqlb1);

   pst.setObject(1, SET0);
   pst.setObject(2, SAVE4);
   pst.setObject(3, SAVE6);
   pst.setObject(4, SAVE7);
   pst.setObject(5, SET4);
   pst.setObject(6, SET5);
   pst.setObject(7, SET6);
   pst.setObject(8, SET2);
   pst.setObject(9, SAVE8);
   pst.setObject(10, SET7);
   rs = pst.executeQuery();
   }

catch(Exception e){}

    }
没有报告任何错误。。。是的,我知道目前存在例外情况e,但并不总是如此:P


信息永远不会保存。我也尝试过使用pst.setString(x,SET.toString())来解决同样的问题,所以我不知道从哪里解决这个问题。任何帮助都将不胜感激。。。谢谢大家!

要插入、更新或删除数据,必须使用
语句。executeUpdate()

请:不要吞下例外。这就是为什么你认为什么都没发生。发生了一些情况:抛出异常,但您选择忽略它,方法是:

catch (Exception e){}
如果您不知道如何处理此方法中的异常,则使方法抛出为:

public void foo() throws SQLException
或者至少捕获它,但将其重新包装到运行时异常中:

catch (SQLException e) {
    throw new RuntimeException(e);
}

事实证明,异常中隐藏了两个问题:com.microsoft.sqlserver.jdbc.SQLServerException:不支持从未知到未知的转换,并且我的查询不会因为某种原因而更改插入测试(TET_KOD、TET_LUK、TET_ARE、TET_YRE、TET_PVF、TET_TEMP、TET_HUM、TET_DATE、TET_VIR、TET_ERR)值(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)因此,如果我使用查询而不是更新,我没有任何问题…它们共享语法,我想,但我会尝试重写我想我应该使用字节数组,但我正在重新研究这个主题
catch (SQLException e) {
    throw new RuntimeException(e);
}