Моя Java-программа не будет отображать или работать со значениями SQL, которые уже были помещены в таблицу до работы с ней в Eclipse.
Я имею в виду, что я могу добавить значения в таблицу, и она сообщит мне, добавляю ли я те же значения снова, однако она заблокируется, когда я пытаюсь использовать значение, которое уже было в таблице, которую я вставлять через SQL.
Я в недоумении для слов, и я не могу понять, почему это происходит. Мне просто нужно, чтобы сказать мне, что значение существует для значений, которые уже были там. Вот мой код:
public void addCourse(Statement st){ //**********This function adds a course to the database.
String courseCode, courseTitle;
int entriesChanged;
try {
System.out.println("Please enter a course code you would like to add: ");
courseCode = scan.next().toUpperCase();
ResultSet rs = st.executeQuery("select * from Course where code = '" + courseCode + "'");
if (rs.next()) {
System.out.println("This course code already exists, please
try again.");
} else {
System.out.println("Please enter the title for the course: ");
courseTitle = scan.next().toUpperCase();
entriesChanged = st.executeUpdate("Insert into Course values
('" + courseCode + "','" + courseTitle + "')");
System.out.println("You just added " + entriesChanged + "
entries to the course list.");
}
rs.close(); //**********Closed the result set in this function.
} catch (SQLException e) {
System.out.println("There was an error during runtime, Error: " +
e.getMessage());
}
Вот мое заявление о соединении, которым я делюсь через класс Driver.java:
try (Connection conn
=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe",
"system", Chicken1") //connect oracle
) {
Statement st = conn.createStatement();
Когда я сказал «он блокируется», я имел в виду, что он просит пользователя ввести название курса, как только вы введете код курса, который уже существовал в предварительно написанной таблице SQL, и затем он просто позволяет вам ввести бесконечно в консоли без продолжения программы.
Однако, если я добавлю курс, который НЕ существует в предварительно записанной таблице, он добавит его в базу данных и не позволит мне повторно ввести код курса, который я уже ввел.
Однако, когда я пытаюсь заставить программу помешать мне ввести код курса, который существует в предварительно написанной таблице SQL, то есть когда он «блокируется».