2016-10-19 19 views
0

如何使用java代码设置数据库中的方法值。如何在java表中设置textfield的值

mycode的

// for getting value code start here 

public void MethodOutputid(int num1) 

      String sql="Select MAX(OUTPUT_ID) from OUTPUT_CONFIGURATION"; 
      PreparedStatement psmt=conn.prepareStatement(sql); 
      rs=psmt.executeQuery(); 
      while(rs.next()) 
      { 
       num1=rs.getInt(1); 
      } 
       num1=num1+1;    
       txtoutputid1.setText(""+num1); 
      }  

////为获得此价值的最终

//用于提取outputid的值,并将其设置为数据库从这里开始

private boolean AddButton(ActionEvent event) throws IOException { 

       String sql = "insert into INPUT_CONFIGURATION (FILE_NAME,OUTPUT_ID)value(?,?)"; 

       String filename = txtfilename.getText();      
       int outputnum=0; 
       MethodOutputid(outputnum); 
       PreparedStatement ps = conn.prepareStatement(sql); 
       ps.setString(1, filename);      

       if(Integer.parseInt(txtoutputid1.getText())==outputnum) 
       { 
        ps.setInt(2, outputnum); 
       } 

       ps.executeUpdate(); 
       } 

//用于获取outputid的值并将其设置到数据库端

这里我收到从方法MethodOutputid(INT NUM1)的NUM1值以上 提到和我设置该值成文本字段命名txtoutputid1MethodOutputid(INT NUM1)内方法

现在我想txtoutputid1(一个文本框)的值插入到表INPUT_CONFIGURATIONOUTPUT_ID柱。

我试图为

if(Integer.parseInt(txtoutputid1.getText())==outputnum) 
{ 
     ps.setInt(2, outputnum); 
} 

我想这一点,但显示为错误没有为参数指定的值

西隧应该怎样做才能插入文本框的值(txtoutputid1在MethodOutputid提到( int num1))进入INPUT_CONFIGURATION中的OUTPUT_ID列。

+0

请格式化您的代码 - 这是非常难以阅读与缩进到处。 “设置方法的价值”也不清楚你的意思。请花一些时间清楚解释你想要达到的目标,以及你的代码目前的功能。 –

+0

他取消了我的编辑....感谢所以SO – Treycos

回答

0

您的编码方式不推荐。

约错误: 您已在query.So

规定只有两个问号必须重新写行

ps.setInt(9, outputnum); //你是不是在你的查询9列

ps.setInt(2, outputnum);

+0

雅其2 ..马实际上der是一个9参数在我的代码..使它成为一个小..我编辑了一个代码,并忘记编辑9作为2。 ....它显示错误为执行后为参数2指定的没有值。我在哪里错了..在我的代码?? –

0

你应该设置保证对第二个参数的价值。否则,准备好的语句不能被编译。这种说法可能会留下不依赖于你的代码if语句的结果的值:

if(Integer.parseInt(txtoutputid1.getText())==outputnum) 
{ 
    ps.setInt(2, outputnum); 
} 

这是你的错。设置值应该超出条件。保留默认值或者抛出一个异常,在必要声明的情况下,与比较失败:

if(Integer.parseInt(txtoutputid1.getText()) == outputnum) 
{ 
    throw new RuntimeException("error message"); 
} 

ps.setInt(2, outputnum); 

这应该没有这个例外执行。

相关问题