首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将文本字段数据从一个类移动到另一个类/将其加载到数据库中时的问题

将文本字段数据从一个类移动到另一个类/将其加载到数据库中时的问题
EN

Stack Overflow用户
提问于 2018-06-09 02:48:00
回答 1查看 37关注 0票数 -1

我正在尝试获取用于登录到我的应用程序的用户名的数据,以便我可以在创建约会时将其插入数据库,以便我可以使用该用户名显示登录到应用程序的用户所做的所有意图。

这是"Programaritest“表

ID_programare | Nume | Prenume |数据| Ora |部门|医生|用户名| Nr_telefon

这是将用户名保存为唯一用户名的accounts表

ID_account |用户名|密码|电子邮件| Nume | Prenume |管理员

这是使用用户名的地方:

代码语言:javascript
复制
package LicentaApp;



public class LogareController implements Initializable {
 public LoginVerifier loginVerifier = new LoginVerifier();







   @FXML
   private TextField Numeutilzator; Numeutilziator is the username that I am talking about

   @FXML
   private PasswordField Parola;

   @FXML
   private Label Stare;









 @Override
 public void initialize(URL location, ResourceBundle resources) {


  if (loginVerifier.Conexiune()) {
      Stare.setText("");
  } else {

      Stare.setText("Conexiune nereusita!");

  }

 }

 public void Autentificare (ActionEvent event) {
 try {
         if(loginVerifier.testaredate(Numeutilzator.getText(),     Parola.getText())) {
         Stare.setText("Autentificare reusita !");
         ((Node)event.getSource()).getScene().getWindow().hide();
            Stage StagePrincipala= new Stage();
            FXMLLoader incarcator= new FXMLLoader();
            Pane parinte = incarcator.load(getClass().getResource("/LicentaApp/Meniu.fxml").openStream());

            Scene scene = new Scene(parinte);
                scene.getStylesheets().add(getClass().getResource("Style1212.css").toExternalForm());
            StagePrincipala.setScene(scene);
            StagePrincipala.show();

          }
     else { 
         Stare.setText("Nume de utilizator sau parola incorect");

     }




} catch (SQLException e) {





     e.printStackTrace();
} catch (IOException e) {

    e.printStackTrace();
    }
 }
 @FXML
    public void Inregistrare(ActionEvent event) {
        try {
         ((Node)event.getSource()).getScene().getWindow().hide();
            Stage PS= new Stage();
            FXMLLoader incarcator= new FXMLLoader();
            Pane parinte = incarcator.load(getClass().getResource("/LicentaApp/InregistrareUser.fxml").openStream());
            Scene scena = new Scene(parinte);
            scena.getStylesheets().add(getClass().getResource("Style1212.css").toExternalForm());
            PS.setScene(scena);
            PS.show();
    } catch (Exception e) {

    }

*Here I m calling the function that I made in AddProgramareController and 
passing it the username located in Numeutilzator*

@FXML 
 public void GetUsername() {
     try {
     FXMLLoader loader=new     FXMLLoader(getClass().getResource("/LicentaApp/AddProgramare.fxml"));
     Parent root = (Parent) loader.load();

     AddProgramareController AddPr=loader.getController();
     AddPr.MyUsername(Numeutilzator.getText());


 } catch (IOException e) {
     e.printStackTrace();
 }
 }

}
}
     ***THis is where I save the username so I can use it to add it into the     db***  

在这里,我尝试添加一个值,与通过获得的数据一起,我尝试将用户名以及添加到表中

代码语言:javascript
复制
package LicentaApp;



public class AddProgramareController implements Initializable {
    ObservableList Timestamp=FXCollections.observableArrayList();




@FXML
private TextField Nume;

@FXML
private TextField Prenume;

@FXML
private TextField Ora;

@FXML
private DatePicker Data;

@FXML
private TextField Departament;

@FXML
private TextField Doctor;

@FXML
private TextField Nr_telefon;

@FXML
private TextField Numeutilizator;













public void initialize(URL location, ResourceBundle resources) {

} 

*Here's the function that I'll call in GetUsername from LogareController
 public void MyUsername(String Numeutilizator) {
    this.Numeutilizator.setText(Numeutilizator);

}

@FXML 
private void AddProgramare(ActionEvent event) throws SQLException, IOException  {


    String Interogare1= "INSERT INTO programaritest(Nume,Prenume,Data,Ora,Departament,Doctor,Nr_telefon,Numeutilizator) VALUES(?,?,?,?,?,?,?,?)";

    String nume=Nume.getText();
    String prenume=Prenume.getText();

    LocalDate data=Data.getValue(); 

    String ora=Ora.getText();
    String departament=Departament.getText();
    String doctor=Doctor.getText();
    String nr_telefon=Nr_telefon.getText();
    String numeutilizator=Numeutilizator.getText();

    try {
        ConectaredB ConectaredB=new ConectaredB();
        Connection conexiune=ConectaredB.logareDB();
        PreparedStatement MG = conexiune.prepareStatement(Interogare1);


        MG.setString(1, nume);
        MG.setString(2, prenume);
        MG.setDate(3, Date.valueOf(data)); 
        MG.setString(4, ora);
        MG.setString(5, departament);
        MG.setString(6, doctor);
        MG.setString(7, nr_telefon);
        MG.setString(8, numeutilizator);

        MG.executeUpdate();

        // ...
   } catch (SQLException exceptie1) {
       exceptie1.printStackTrace(); 
   }


}
}

尝试添加新约会时收到的错误消息为:

由LicentaApp.AddProgramareController.AddProgramare(AddProgramareController.java:103)的java.lang.NullPointerException引起的

在第103行: String numeutilizator=Numeutilizator.getText();

因此,由于某些原因,它似乎仍然无法加载用户名。

所以基本上,要么是我获取用户名将其插入数据库的方式是错误的,要么是实际的插入是错误的。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50766770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档