2017-03-07 14 views
0

javafxからmysqlの問題を挿入します。何があっても無効な値を取得し続けます。ボタンがクリックされたときに値が増えようとしています。データベースの最初の値はDoc-1です。次の値をDoc-2とDoc-3の順にします。すべてのヘルプがうまく動作しているので、特にクエリでは助けになると思います。JavaFXからMySQLに挿入

@FXML 
private void GenerateDocTag(ActionEvent event) throws SQLException { 

    txtTag.setText(String.valueOf(doctorTag())); 

} 


private Integer doctorTag() throws SQLException { 

    Connection connection = DBController.Connect(); 

    String query = "\n" + 
      "select DocTag from doctors where substring('Doc - 1', -1);"; 
    resultSet = connection.createStatement().executeQuery(query); 
    resultSet.first(); 
    int DOC_TAG = resultSet.getInt(1); 
    return DOC_TAG + 1; 
} 

上記のエラーはのgetInt()に無効な値である - 'ドク - 1'

+0

まず、 'substring-value'、' System.out.println(resultSet.getString(1)) 'をチェックしてください、出力値はint型ですか? –

+0

UIスレッド内で非UIコードを起動しないでください。これは、応答の遅いアプリケーションや望ましくない動作につながります。 – aalmiray

答えて

0

あなたは下の表の構造を持っていると仮定すると:

value 
------ 
Doc - 1 
Doc - 2 
Doc - 3 

あなたは最高の値を取得する必要がありますvalue列の場合、castの場合はの場合はとなります(例:

)。

もう1つの方法は、最大valueを取得し、Javaでsubstringを実行することです。

関連する問題