Я создал небольшую программу, в которой пользователь должен вводить данные в текстовые поля и выбирать параметры в комбинированных полях. Я создал базу данных с помощью XAMPP и создал соответствующие таблицы для программы через веб-браузер.
База данных называется activitydb , а таблица, которая отвечает за хранение данных из программы, называется userdata .
Первый столбец в таблице называется UserID и представляет собой int, который автоматически увеличивается каждый раз при добавлении новой записи. Остальные все varchars с различной максимальной длиной.
В настоящее время это исходный код программы:
Connection con = null;
Statement st = null;
try {
// activitydb = database name
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/activitydb?zeroDateTimeBehavior=convertToNull", "root", "");
st = con.createStatement();
// userdata = table name
String sqlconn = "INSERT INTO userdata (UserID, LastName, FirstName, MiddleName, Email, Sex, HomeAddress, City, CPUBrand, ComputerType, HardwareSpecs, GPUBrand, GPUType, GPUVRAM)";
PreparedStatement prdStmt = con.prepareStatement(sqlconn);
// Input of variable data into corresponding database table
// First table will be declared as null as it is an Integer designed with an Auto Increment
prdStmt.setString(1, null);
prdStmt.setString(2, jTextLastName.getText());
prdStmt.setString(3, jTextFirstName.getText());
prdStmt.setString(4, jTextMiddleName.getText());
prdStmt.setString(5, jTextEmail.getText());
prdStmt.setString(6, jComboBoxSex.getSelectedItem().toString());
prdStmt.setString(7, jTextHomeAddress.getText());
prdStmt.setString(8, jTextCity.getText());
prdStmt.setString(9, jComboBoxCPUBrand.getSelectedItem().toString());
prdStmt.setString(10, jComboBoxComputerType.getSelectedItem().toString());
prdStmt.setString(11, jComboBoxHardwareSpecs.getSelectedItem().toString());
prdStmt.setString(12, jComboBoxGPUBrand.getSelectedItem().toString());
prdStmt.setString(13, jComboBoxGPUType.getSelectedItem().toString());
prdStmt.setString(14, jComboBoxGPUVRAM.getSelectedItem().toString());
// Do this if something goes wrong
} catch (SQLException err) {
// Print error message to console for diagnosis
System.out.println(err.getMessage());
}
Для полей со списком я использовал getSelectedItem().toString()
, чтобы получить данные, найденные внутри, хранятся в виде строки.
Нажатие на кнопку заставит программу ничего не делать, кроме как напечатать ее в консоли: Parameter index out of range (1 > number of parameters, which is 0).