Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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
如何在JavaFX+中添加、更新、删除和搜索记录;mysql jdbc?_Java_Mysql_Javafx_Tableview_Fxml - Fatal编程技术网

如何在JavaFX+中添加、更新、删除和搜索记录;mysql jdbc?

如何在JavaFX+中添加、更新、删除和搜索记录;mysql jdbc?,java,mysql,javafx,tableview,fxml,Java,Mysql,Javafx,Tableview,Fxml,在使用mysql jdbc的javafx netbeans中使用场景生成器在tableview中添加记录、更新记录、删除记录、搜索记录时遇到问题。。。 以下是我如何在mysql jdbc中插入、更新、删除和搜索的代码…但不是表原因,这是我现在面临的问题(使用场景生成器在javafx netbeans的tableview中插入新记录、更新记录、删除记录和搜索记录) 我是否正确理解您发布了一个完整的JavaFX应用程序,但实际问题是如何在mysql中创建表?“sstudent(firstname,

在使用mysql jdbc的javafx netbeans中使用场景生成器在tableview中添加记录、更新记录、删除记录、搜索记录时遇到问题。。。 以下是我如何在mysql jdbc中插入、更新、删除和搜索的代码…但不是表原因,这是我现在面临的问题(使用场景生成器在javafx netbeans的tableview中插入新记录、更新记录、删除记录和搜索记录)



我是否正确理解您发布了一个完整的JavaFX应用程序,但实际问题是如何在mysql中创建表?“sstudent(firstname,secondname,gender,location)”不,我只想在javafx中添加、更新、删除和搜索tableview中的记录。使用mysql。我发布的代码是代码,从我的scenebuilder到我教过的数据库(mysql),如果您想将tableview连接到数据库(mysql),这将很有帮助。。因此,您可以在这方面帮助我,但是您发布的代码中没有
TableView
。(主题外:不要在JavaFX中使用
JOptionPane
。这将在许多系统上挂起。请改用一个。)如果您使用直接JDBC,则您负责将结果集中的数据转换为(缺少的)TableView所需的数据;Java bean。通过使用JPA(Eclipselink)或EBean为您进行映射,您可以使它变得更容易。
//mycotroller...
package fxapplication;

import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.TextField;
import javax.swing.JOptionPane;

/**
 * FXML Controller class
 *
 * @author PHILSERVER
 */
public class SearchController implements Initializable {

     @FXML
    private Connection con;

     @FXML
    private Statement stmt;

      @FXML
    private ResultSet rs;

    @FXML
    private ComboBox cbGender;

    @FXML
    private TextField tfLocation;

    @FXML
    private TextField tfFirstname;

    @FXML
    private TextField tfSearch;

    @FXML
    private Button update;

    @FXML
    private Button insert;

    @FXML
    private Button delete;

    @FXML
    private TextField tfSecondname;

    @FXML
    void search(ActionEvent event) {

 if (tfSearch.getText().equals("")){
     JOptionPane.showMessageDialog(null," Enter firstname please !!!");
    }else{
    if(checkName()){
   search();

}else{
   JOptionPane.showMessageDialog(null,"firstname does not exist");
}

    } 

    }


    @FXML
    void deleteRecord(ActionEvent event) {
 try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch(ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null,"Unable to register class "+e.getMessage());
        }

        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost/level2","root","addison");
            stmt = con.createStatement();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null,"Unable to connect to database "+e.getMessage());
        }

        try{
            String sql;
            sql="delete from sstudent where firstname='"+tfSearch.getText()+"'";
            int result=stmt.executeUpdate(sql);
            JOptionPane.showMessageDialog(null," Record deleted sucessfully");
            tfSearch.setText(null);
            tfFirstname.setText(null);
            tfSecondname.setText(null);
            cbGender.setValue(null);
            tfLocation.setText(null);

        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null,"Unable to delete record "+e.getMessage());
        }
    }

    @FXML
    void updateRecord(ActionEvent event) {
    try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch(ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null,"Unable to register class "+e.getMessage());
        }

        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost/level2","root","addison");
            stmt = con.createStatement();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null,"Unable to connect to database "+e.getMessage());
        }


        try{
            String sql;
            sql="update sstudent set secondname='"+tfSecondname.getText()+"',"
            +"location='"+tfLocation.getText()+"',"
            +"gender='"+cbGender.getValue().toString()+"'"
            +" where firstname='"+tfSearch.getText()+"'";


            int result=stmt.executeUpdate(sql);
            JOptionPane.showMessageDialog(null," Record updated sucessfully");
       } catch (SQLException f) { 
           JOptionPane.showMessageDialog(null,"Unable to update record "+f.getMessage()); 
       }


    }

    @FXML
    void insertRecord(ActionEvent event) {
try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch(ClassNotFoundException e) {
                JOptionPane.showMessageDialog(null,"Unable to register class "+e.getMessage());
            }

            try {
                con = DriverManager.getConnection("jdbc:mysql://localhost/level2","root","addison");
                  stmt=con.createStatement();  
                }catch (SQLException e){
                    JOptionPane.showMessageDialog(null,"Unable to connect to database "+e.getMessage());
                }


    try {
    String sql;
    sql="insert into sstudent(firstname,secondname,gender,location) values ("
      +"'"+tfFirstname.getText()+"',"
      +"'"+tfSecondname.getText()+"',"
      +"'"+cbGender.getValue().toString()+"',"
      +"'"+tfLocation.getText()+"')";

    int result=stmt.executeUpdate(sql);
    JOptionPane.showMessageDialog(null,"record saved sucessfully ");
    } catch (Exception e) {
    JOptionPane.showMessageDialog(null,"Unable to insert record "+e.getMessage());
    }


    }


      private boolean checkName(){
    try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch(ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null,"Unable to register class "+e.getMessage());
        }

        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost/level2","root","addison");
            stmt = con.createStatement();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null,"Unable to connect to database "+e.getMessage());
        }
         try{
             String sql;
             sql="select * from sstudent where firstname='"+tfSearch.getText()+"'";
             rs=stmt.executeQuery(sql);
             if(rs.next()){
             return true;
             }
         }catch (SQLException e){
         JOptionPane.showMessageDialog(null,"unable to retrieve record"+ e.getMessage());
         }
         return false;
         }

      private void search(){
       try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch(ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null,"Unable to register class "+e.getMessage());
        }

        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost/level2","root","addison");
            stmt = con.createStatement();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null,"Unable to connect to database "+e.getMessage());
        }

        try {
            String sql;
            sql = "select * from sstudent where firstname='"+tfSearch.getText()+"'";
            rs = stmt.executeQuery(sql);
            while(rs.next()){
             tfFirstname.setText(rs.getString("firstname"));
             tfSecondname.setText(rs.getString("secondname"));
             cbGender.setValue(rs.getString("gender"));
             tfLocation.setText(rs.getString("location"));
            }
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null,"Unable to retrieve record "+e.getMessage());
        }   
      }
    @Override
    public void initialize(URL url, ResourceBundle rb) {



      cbGender.getItems().addAll("male","female");
    }    

}
//main class....
package fxapplication;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;

/**
 *
 * @author PHILSERVER
 */
public class FXApplication extends Application {

    @Override
    public void start(Stage stage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("search.fxml"));

        Scene scene = new Scene(root);

        stage.setScene(scene);

        stage.show();

// my scene builder forms....