gpt4 book ai didi

java - 使用 Jframe 创建数据库,出现异常未知数据库选择

转载 作者:行者123 更新时间:2023-11-29 21:49:31 25 4
gpt4 key购买 nike

import java.awt.*;
public class MainWindow {
private JFrame frmMainwindow;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JTextField textField_5;
private JTextField textField_6;
private JTextField textField_7;
private JTextField textField_8;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainWindow window = new MainWindow();
window.frmMainwindow.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the application.
*
*/

Connection conn = null;
Connection conn1 = null;

public MainWindow() {
initialize();
MainPage mp = new MainPage();
mp.setVisible(true);

}

/**
* Initialize the contents of the frame.
*/
public void Reset(){
textField.setText(null);
textField_1.setText(null);
textField_2.setText(null);
textField_3.setText(null);
textField_4.setText(null);
textField_5.setText(null);
textField_6.setText(null);
textField_7.setText(null);
textField_8.setText(null);
}

public void DBCreation(){
conn = CreatingDb.CreateDb();
String DBName = textField.getText();

try{
String query = "CREATE DATABASE " + DBName ;
PreparedStatement pst = conn.prepareStatement(query);
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "DB Created Successful.....");
pst.close();

}catch(Exception R){
JOptionPane.showMessageDialog(null, R);
}
}

public void Insert(){

String DBName = textField.getText();
conn1 = SqlConnection.InsertDB(DBName);


try{
String Table1 = "CREATE TABLE PERSONALINFO (PersonName VARCHAR(25),DoorNO VARCHAR(10),Street VARCHAR(25),Village VARCHAR(25),PhoneNo LONGINT(10),UserName VARCHAR(15),Password VARCHAR(10),Hint VARCHAR(50))";
String Insert1 = "INSERT INTO PERSONALINFO (PersonName,DoorNO,Street,Village,PhoneNo,UserName,Password,Hint) VALUES (?,?,?,?,?,?,?,?)";

PreparedStatement pstt = conn.prepareStatement(Table1);
PreparedStatement psti = conn.prepareStatement(Insert1);

psti.setString(1, textField_1.getText());
psti.setString(2, textField_2.getText());
psti.setString(3, textField_3.getText());
psti.setString(4, textField_4.getText());
psti.setString(5, textField_5.getText());
psti.setString(6, textField_6.getText());
psti.setString(7, textField_7.getText());
psti.setString(8, textField_8.getText());

pstt.execute();
psti.execute();

JOptionPane.showMessageDialog(null, "Table Created and Data Inserted Successfully....");
psti.close();
pstt.close();

}catch(Exception R){
JOptionPane.showMessageDialog(null, R);
}
}

private void initialize() {
frmMainwindow = new JFrame();
frmMainwindow.getContentPane().setBackground(Color.WHITE);
frmMainwindow.getContentPane().setFont(new Font("Times New Roman", Font.BOLD, 14));
frmMainwindow.setTitle("Create DataBase");
frmMainwindow.setBounds(100, 100, 668, 416);
frmMainwindow.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int height = screenSize.height;
int width = screenSize.width;
frmMainwindow.setSize(width/2, height/2);

// center the jframe on screen
frmMainwindow.setLocationRelativeTo(null);
frmMainwindow.getContentPane().setLayout(null);

JPanel panel_1 = new JPanel();
panel_1.setBackground(Color.WHITE);
panel_1.setBounds(120, 70, 426, 205);
frmMainwindow.getContentPane().add(panel_1);
panel_1.setLayout(null);
panel_1.setVisible(false);

JLabel lblDatabaseName = new JLabel("DataBase Name");
lblDatabaseName.setBounds(0, 3, 107, 14);
panel_1.add(lblDatabaseName);
lblDatabaseName.setFont(new Font("Times New Roman", Font.BOLD, 14));

JLabel lblPersonName = new JLabel("Person Name");
lblPersonName.setBounds(0, 32, 89, 14);
panel_1.add(lblPersonName);
lblPersonName.setFont(new Font("Times New Roman", Font.BOLD, 14));

JLabel lblDoorNo = new JLabel("Door No");
lblDoorNo.setBounds(0, 57, 79, 14);
panel_1.add(lblDoorNo);
lblDoorNo.setFont(new Font("Times New Roman", Font.BOLD, 14));

JLabel lblStreet = new JLabel("Street");
lblStreet.setBounds(0, 85, 46, 14);
panel_1.add(lblStreet);
lblStreet.setFont(new Font("Times New Roman", Font.BOLD, 14));

JLabel lblVillage = new JLabel("Village");
lblVillage.setBounds(0, 110, 46, 14);
panel_1.add(lblVillage);
lblVillage.setFont(new Font("Times New Roman", Font.BOLD, 14));

JLabel lblPhoneNo = new JLabel("Phone No");
lblPhoneNo.setBounds(0, 135, 58, 14);
panel_1.add(lblPhoneNo);
lblPhoneNo.setFont(new Font("Times New Roman", Font.BOLD, 14));

JLabel lblUserbame = new JLabel("UserName");
lblUserbame.setBounds(232, 3, 79, 14);
panel_1.add(lblUserbame);
lblUserbame.setFont(new Font("Times New Roman", Font.BOLD, 14));

JLabel lblPassword = new JLabel("Password");
lblPassword.setBounds(232, 32, 68, 14);
panel_1.add(lblPassword);
lblPassword.setFont(new Font("Times New Roman", Font.BOLD, 14));

JLabel lblHint = new JLabel("Hint");
lblHint.setBounds(232, 57, 46, 14);
panel_1.add(lblHint);
lblHint.setFont(new Font("Times New Roman", Font.BOLD, 14));

textField = new JTextField();
textField.setBounds(117, 0, 105, 20);
panel_1.add(textField);
textField.setFont(new Font("Times New Roman", Font.BOLD, 14));
textField.setColumns(10);

textField_1 = new JTextField();
textField_1.setBounds(117, 29, 105, 20);
panel_1.add(textField_1);
textField_1.setFont(new Font("Times New Roman", Font.BOLD, 14));
textField_1.setColumns(10);

textField_2 = new JTextField();
textField_2.setBounds(117, 54, 105, 20);
panel_1.add(textField_2);
textField_2.setFont(new Font("Times New Roman", Font.BOLD, 14));
textField_2.setColumns(10);

textField_3 = new JTextField();
textField_3.setBounds(117, 82, 105, 20);
panel_1.add(textField_3);
textField_3.setFont(new Font("Times New Roman", Font.BOLD, 14));
textField_3.setColumns(10);

textField_4 = new JTextField();
textField_4.setBounds(117, 107, 105, 20);
panel_1.add(textField_4);
textField_4.setFont(new Font("Times New Roman", Font.BOLD, 14));
textField_4.setColumns(10);

textField_5 = new JTextField();
textField_5.setBounds(117, 132, 105, 20);
panel_1.add(textField_5);
textField_5.setFont(new Font("Times New Roman", Font.BOLD, 14));
textField_5.setColumns(10);

textField_6 = new JTextField();
textField_6.setBounds(321, 0, 105, 20);
panel_1.add(textField_6);
textField_6.setFont(new Font("Times New Roman", Font.BOLD, 14));
textField_6.setColumns(10);

textField_7 = new JTextField();
textField_7.setBounds(321, 29, 105, 20);
panel_1.add(textField_7);
textField_7.setFont(new Font("Times New Roman", Font.BOLD, 14));
textField_7.setColumns(10);

textField_8 = new JTextField();
textField_8.setBounds(321, 54, 105, 20);
panel_1.add(textField_8);
textField_8.setFont(new Font("Times New Roman", Font.BOLD, 14));
textField_8.setColumns(10);

JButton btnReset = new JButton("Reset");
btnReset.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Reset();
}
});
btnReset.setBounds(232, 171, 89, 23);
panel_1.add(btnReset);

JButton btnSave = new JButton("Save");
btnSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
DBCreation();
Insert();
Reset();
}
});

btnSave.setBounds(327, 171, 89, 23);
panel_1.add(btnSave);
panel_1.setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{lblDatabaseName, textField_1, lblPersonName, lblDoorNo, lblStreet, lblVillage, lblPhoneNo, lblUserbame, lblPassword, lblHint, textField_2, textField_3, textField_4, textField_5, textField_6, textField_7, textField_8, btnSave, btnReset, textField}));

JPanel panel = new JPanel();
panel.setBackground(Color.WHITE);
panel.setBounds(217, 122, 233, 101);
frmMainwindow.getContentPane().add(panel);
panel.setLayout(null);

JLabel lblCreateDatabase = new JLabel("Create DataBase");
lblCreateDatabase.setBounds(0, 4, 120, 14);
panel.add(lblCreateDatabase);
lblCreateDatabase.setFont(new Font("Times New Roman", Font.BOLD, 14));

JLabel lblOpenDatabase = new JLabel("Open DataBase");
lblOpenDatabase.setBounds(0, 42, 120, 14);
panel.add(lblOpenDatabase);
lblOpenDatabase.setFont(new Font("Times New Roman", Font.BOLD, 14));

JLabel lblNewLabel = new JLabel("Delete DataBase");
lblNewLabel.setBounds(0, 82, 120, 14);
panel.add(lblNewLabel);
lblNewLabel.setFont(new Font("Times New Roman", Font.BOLD, 14));

JButton btnNew = new JButton("New");
btnNew.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
panel.setVisible(false);
panel_1.setVisible(true);
}
});
btnNew.setBounds(144, 0, 89, 23);
panel.add(btnNew);
btnNew.setFont(new Font("Times New Roman", Font.BOLD, 14));

JButton btnSelect = new JButton("Select");
btnSelect.setBounds(144, 38, 89, 23);
panel.add(btnSelect);
btnSelect.setFont(new Font("Times New Roman", Font.BOLD, 14));

JButton btnRemove = new JButton("Remove");
btnRemove.setBounds(144, 78, 89, 23);
panel.add(btnRemove);
btnRemove.setFont(new Font("Times New Roman", Font.BOLD, 14));
}
}

我的第二个java文件

public class SqlConnection {

Connection conn1 = null;

public static Connection InsertDB(String DBName){
String value = DBName;
try{
Class.forName("com.mysql.jdbc.Driver");
String DB = "jdbc:mysql://localhost:3306/";
Connection conn = DriverManager.getConnection(DB+value,"root","");
JOptionPane.showMessageDialog(null,value);
return conn;
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
return null;
}
}


}

我的第三个java文件

public class CreatingDb {

Connection conn = null;

public static Connection CreateDb(){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/","root","");
return conn;
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
return null;
}
}
}

我的第四个java文件..

public class MainPage extends JFrame {

private JPanel contentPane;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainPage frame = new MainPage();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public MainPage() {
setExtendedState(Frame.MAXIMIZED_BOTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);

JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);

JMenu mnFile = new JMenu("File");
menuBar.add(mnFile);

JMenuItem mntmNew = new JMenuItem("New");
mnFile.add(mntmNew);

JMenuItem mntmOpen = new JMenuItem("Open");
mnFile.add(mntmOpen);

JMenuItem mntmSave = new JMenuItem("Save");
mnFile.add(mntmSave);

JMenuItem mntmSaveAs = new JMenuItem("Save As...");
mnFile.add(mntmSaveAs);

JMenuItem mntmExit = new JMenuItem("Exit");
mnFile.add(mntmExit);

JMenu mnEdit = new JMenu("Edit");
menuBar.add(mnEdit);

JMenu mnHelp = new JMenu("Help");
menuBar.add(mnHelp);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
}
}

我已经导入了所需的包...在上面的代码中,我在应用程序开始时使用文本字段创建数据库。数据库已成功创建,但我无法访问创建的数据库。它显示 java.sql.Exception:未知的数据库选择。请任何人帮助我......

最佳答案

 String DB = "jdbc:mysql://localhost:3306/";
Connection conn = DriverManager.getConnection(DB+value,"root","");

我认为你的问题正在追加。您不附加 DB + 值。给出密码。

关于java - 使用 Jframe 创建数据库,出现异常未知数据库选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33787127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com