Я кодирую систему заявок, используя java и SQLite. Вот код, который у меня есть для подключения к БД и создания заявки в этой БД.
public class TicketProject {
static Connection conn = null;
static Scanner entry = new Scanner(System.in);
static PreparedStatement add = null;
public static Connection ConnectDB(){
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:TicketDB.db");
JOptionPane.showMessageDialog(null,"Connection Success!");
return conn;
} catch (ClassNotFoundException | SQLException | HeadlessException e) {
JOptionPane.showMessageDialog(null, "Connection failed ! " + e);
return null;
}
}
public static void createTicket() {
String cont = "1";
int contChoice = Integer.parseInt(cont);
Statement stmt = null;
while (contChoice != 0) {
try {
//program accepts user input
System.out.print("Enter Name: ");
String n = entry.nextLine();
System.out.print("Enter Department: ");
String d = entry.nextLine();
System.out.print("Enter Status: ");
String s = entry.nextLine();
System.out.print("Enter Notes: ");
String o = entry.nextLine();
add = conn.prepareStatement("INSERT INTO Ticket VALUES(?,?,?,?,?)");
add.setString(2, n);
add.setDate(3, java.sql.Date.valueOf(java.time.LocalDate.now()));
add.setString(4, d);
add.setString(5, s);
add.setString(6, o);
int executeUpdate = add.executeUpdate();
} catch (SQLException e ) {
}
System.out.println("Would you like to create another ticket? 1 = yes, 0 = no");
cont = entry.nextLine();
contChoice = Integer.parseInt(cont);
}
}
public static void main(String[] args) {
ConnectDB();
String initialOption;
int run = 1;
while (run != 2) {
System.out.println("What would you like to do?");
System.out.println("1 = Create Ticket, 2 = Edit Ticket, 3 = Display Tickets, 4 = Exit");
initialOption = entry.nextLine();
int choice = Integer.parseInt(initialOption);
if (choice == 1) {
createTicket();
}
}
}
}
Итак, в этом коде мы видим мое соединение с БД, мы видим мою функцию createTicket и видим в Главное, что мы вызываем соединение, а затем вызываем createTicket. Таблица заявок была создана вручную и на самом деле имеет 6 полей. Этот код здесь перечисляет 5, но первое поле - это TicketNumber, который является ненулевым автоинкрементом.
Я пробовал то, что видно здесь, add.executeUpdate (), я также пробовал add.execute ( ) и conn.commit (). Что бы я ни пытался, база данных не обновляется, когда я запускаю код и ввожу информацию.
Что я делаю не так? Если вам нужна какая-либо другая информация, пожалуйста, дайте мне знать.
Заранее спасибо