2016-05-04 2 views
0

これについては数多くの説明がありますが、PHPで説明しました。私はJavaでJavaFXを使ってGUIをサポートしたいと思っています。ログインのためのメソッドと、ドッキングステーションにユーザーの名前を表示するメソッドを含めます。Javaでログインした後に特定のユーザーに関する情報にアクセスする方法

私のデータベースには10人のユーザーがおり、ユーザーにはlogin_id = 5というログがあります。つまり、特定の場所(つまり、名字、姓、電子メールなど)のすべての情報を取得したいとします。 )。

LoginFXMLController

@FXML 
    private boolean loginSuccessful() throws SQLException{ 
     connection = MySQL.Connect(); 
     String sql = "SELECT * FROM login WHERE username = ? and password = ?"; 

     pst = connection.prepareStatement(sql); 
     pst.setString(1, tfUsername.getText()); 
     pst.setString(2, tfPassword.getText()); 
     rs = pst.executeQuery(); 

     return (rs.next()); 
    } 

DockFXMLController

@FXML 
    public void showName() 
    { 
     try { 
// Just getting info from login_id column, and not by specific user, 
// and I'd like to change that 
      String sql = "SELECT * FROM Login WHERE login_id = 1"; 
      pst = connection.prepareStatement(sql); 
      rs = pst.executeQuery(); 
      if(rs.next()) 
      { 
       lblName.setText(rs.getString("first_name") + " " + rs.getString("last_name")); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

作品以上このコードと表示するようになっているものを示す - 最初の行から最初の名前、私はきちんと私のすべてを初期化しています必要です。

答えて

0

どのクラスオブジェクト「pst」が実際にはわからない。 java tutorial about database on java2s.comのスナップショットを示します。

私は、問題は、メソッドcreateStatement()を呼び出す必要があると思います。

こちらがお役に立てば幸いです。

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.Statement; 

public class Main { 
    public static void main(String[] argv) throws Exception { 
    String driverName = "com.jnetdirect.jsql.JSQLDriver"; 
    Class.forName(driverName); 

    String serverName = "127.0.0.1"; 
    String portNumber = "1433"; 
    String mydatabase = serverName + ":" + portNumber; 
    String url = "jdbc:JSQLConnect://" + mydatabase; 
    String username = "username"; 
    String password = "password"; 

    Connection connection = DriverManager.getConnection(url, username, password); 
    Statement stmt = connection.createStatement(); 
    String sql = "UPDATE my_table SET col_string='a new string' WHERE col_string = 'a string'"; 
    int updateCount = stmt.executeUpdate(sql); 

    } 
} 
+0

'ResultSet rs'と' PreparedStatement pst'は私が作成したオブジェクトです。私は行の特定のIDを見つけて更新しなくてはならないので、なぜ私はテーブルを 'UPDATE 'すればよいのか分かりません。 – brajevicm

関連する問題