У меня есть база данных доступа с таблицей с именем student И в ней есть поле Id
.Я создал Java-апплет и в этом, когда я ввожу значение для Id в TextField1
в апплет и нажимаю Display
button , апплет должен отображать другие детали учащегося в TextFields.Получение значений базы данных в апплет
Вот мой код для кнопки «Показать».
if(command=="Dispaly"){
try{
int stId=Integer.parseInt(textField1.getText());
ResultSet result=state.executeQuery("SELECT*FROM student WHERE Id=stId");
Но это приводит к ошибке, так как слишком мало параметров. Ожидаемый1.
Но если я изменить запрос как
ResultSet result=state.executeQuery("SELECT*FROM student WHERE Id=3");
(То есть для студента с идентификатором = 3) он работает отлично.
Что случилось с моим кодом? Может кто-нибудь, пожалуйста, покажи мне это?
Еще один новичок базы данных говорят писать динамический SQL вместо того, чтобы делать это правильно и с помощью параметризованных запросов. -1 –
Большое спасибо, я обновил свой ответ. –
@MuhammadHamed Когда я пытаюсь вставить с помощью этого подготовленного элемента, я получаю сообщение об ошибке, поскольку «драйвер не поддерживает эту функцию». Вот что я сделал «String query =» INSERT INTO student (Id, studentName, age) «+» VALUES (?, ?,?) "; \t \t \t \t Подготовлено Состояние государства = con.prepareStatement (query); \t \t \t \t state.setInt (1, value1); \t \t \t \t state.setString (2, value2); \t \t \t \t state.setInt (3, value3); \t \t \t \t \t \t \t \t \t \t \t state.executeUpdate ("INSERT INTO студента (Id, studentName, возраст) VALUES (" + значение1 + " "+ значение2 +", "+ Value3 +")"); ' –