Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何编辑JTable行?_Java_Jdbc_Jtable_Sqlexception - Fatal编程技术网

Java 如何编辑JTable行?

Java 如何编辑JTable行?,java,jdbc,jtable,sqlexception,Java,Jdbc,Jtable,Sqlexception,我想要一个教程或方法,这样我可以突出显示Jtable中的一行,该行从mysql数据库获取数据,然后单击edit按钮,这样它就会启动一个表单,我可以使用该表单编辑该行,然后保存。 我使用了一个有效的方法,但它抛出了很多异常,所以我认为这是一个糟糕的设计 编辑:我还不想使用绑定。我想写我能理解的基本代码 编辑2:下面是我用来获取编辑查询时使用的键的调用。。我高亮显示该行并调用此函数: int id = ((Number) model.getValueAt(jTable1.getSelectedRow

我想要一个教程或方法,这样我可以突出显示Jtable中的一行,该行从mysql数据库获取数据,然后单击edit按钮,这样它就会启动一个表单,我可以使用该表单编辑该行,然后保存。 我使用了一个有效的方法,但它抛出了很多异常,所以我认为这是一个糟糕的设计

编辑:我还不想使用绑定。我想写我能理解的基本代码

编辑2:下面是我用来获取编辑查询时使用的键的调用。。我高亮显示该行并调用此函数:

int id = ((Number) model.getValueAt(jTable1.getSelectedRow(), 0)).intValue() ;
函数体不是我写的,它是
resultsetablemodel
文件的一部分

 public Object getValueAt( int row, int column )
      throws IllegalStateException
   {
      // ensure database connection is available
      if ( !dbConnection.isConnectedToDatabase() )
         throw new IllegalStateException( "Not Connected to Database" );

      // obtain a value at specified ResultSet row and column

      try
      {


          getResultSet().absolute( row + 1 );
         return getResultSet().getObject( column + 1 );
      } // end try
      catch ( SQLException sqlException )
      {
          System.out.println("Exception from here dude");
         sqlException.printStackTrace();
      } // end catch

      return ""; // if problems, return empty string object
       } // end method getValueAt
这里抛出了一个resultset closed异常,我知道原因是因为我以前使用了相同的resultset来填充表。所以我想要一个不同的选择。

请参阅。但是如果你能展示你的代码,那会很有帮助


如果您的问题是应用程序抛出了一个
SQLException
,那么您需要显示该表的SQL查询和数据库模式

这里抛出了一个resultset closed异常,我知道原因是因为我以前使用了相同的resultset来填充表。所以我想要一个不同的选择


看。“数据库中的表示例”展示了如何从ResultSet中的数据创建DefaultTableModel,这样您就不必担心这个问题。

@Ahmed:但您必须更详细地描述您的问题所在。否则我们无法帮助您。请尝试移动ResultSet指针。执行之前:
getResultSet().absolute(行+1)。Do:
getResultSet.next()