Я хотел бы передать метод getGneratedKeys(), который также известен как Last_generated_id, из текущего класса Java в следующий класс. Однако я совершенно не понимаю, как хранить и собирать идентификатор следующего Java-класса для использования этим классом.
Сценарий таков, что Insert.jsp вставит все строки и целые числа в мою базу данных MySQL. Вторая страница UserImage.jsp загрузит изображение в ту же таблицу и ту же запись, что и Insert.jsp.
Это означает, что запрос UserImage будет запрос обновление вместо запроса вставка.
Save.java (связанный класс для Insert.jsp):
public String execute()
{
int i = 0; //SELECT LAST_INSERT_ID();
try{
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull","root","8899");
String s = "insert into usertable(userNRIC, userName, userEmail, userPW, userContact, userAddress, catID, catTypeID, sectionID, status"
+ ") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ";
PreparedStatement ps=con.prepareStatement(s, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, mb.getUserNRIC());
ps.setString(2, mb.getUserName());
ps.setString(3, mb.getUserEmail());
ps.setString(4, mb.getUserPW());
ps.setInt(5, mb.getUserContact());
ps.setString(6, mb.getUserAddress());
ps.setInt(7, mb.getCatID());
ps.setInt(8, mb.getCatTypeID());
ps.setInt(9, mb.getSectionID());
ps.setString(10, mb.getStatus());
ps.executeUpdate();
con.commit();
ResultSet rs = ps.getGeneratedKeys();
if (rs != null && rs.next()) {
i = rs.getInt(1);
//ps.setInt(i, mb.getUserID("UserID"));
}
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
addActionError(e.getMessage());
}
return SUCCESS;
}
FileUploadAction.java (связанный класс для UserImage.jsp):
public String execute(){
int i = 0;
connection = getConnection();
String query = "update usertable set userPhoto=? where userID=?";
try {
String filePath = servletRequest.getSession().getServletContext().getRealPath("/");
System.out.println("Server path:" + filePath);
File fileToCreate = new File(filePath, this.userImageFileName);
FileUtils.copyFile(this.userImage, fileToCreate);
//String uniqueFileName = fileToCreate.getPath();
pst = connection.prepareStatement(query);
pst.setString(1, this.userImageFileName);
i = pst.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
addActionError(e.getMessage());
return INPUT;
}
return SUCCESS;
}
Подробнее здесь: https://stackoverflow.com/questions/249 ... -next-page
Как передать getGeneratedKeys() на следующую страницу? ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1731267627
Anonymous
Я хотел бы передать метод getGneratedKeys(), который также известен как Last_generated_id, из текущего класса Java в следующий класс. Однако я совершенно не понимаю, как хранить и собирать идентификатор следующего Java-класса для использования этим классом.
Сценарий таков, что Insert.jsp вставит все строки и целые числа в мою базу данных MySQL. Вторая страница UserImage.jsp загрузит изображение в ту же таблицу и ту же запись, что и Insert.jsp.
Это означает, что запрос UserImage будет запрос [b]обновление[/b] вместо запроса [b]вставка[/b].
[b]Save.java (связанный класс для Insert.jsp):[/b]
public String execute()
{
int i = 0; //SELECT LAST_INSERT_ID();
try{
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull","root","8899");
String s = "insert into usertable(userNRIC, userName, userEmail, userPW, userContact, userAddress, catID, catTypeID, sectionID, status"
+ ") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ";
PreparedStatement ps=con.prepareStatement(s, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, mb.getUserNRIC());
ps.setString(2, mb.getUserName());
ps.setString(3, mb.getUserEmail());
ps.setString(4, mb.getUserPW());
ps.setInt(5, mb.getUserContact());
ps.setString(6, mb.getUserAddress());
ps.setInt(7, mb.getCatID());
ps.setInt(8, mb.getCatTypeID());
ps.setInt(9, mb.getSectionID());
ps.setString(10, mb.getStatus());
ps.executeUpdate();
con.commit();
ResultSet rs = ps.getGeneratedKeys();
if (rs != null && rs.next()) {
i = rs.getInt(1);
//ps.setInt(i, mb.getUserID("UserID"));
}
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
addActionError(e.getMessage());
}
return SUCCESS;
}
[b]FileUploadAction.java (связанный класс для UserImage.jsp):[/b]
public String execute(){
int i = 0;
connection = getConnection();
String query = "update usertable set userPhoto=? where userID=?";
try {
String filePath = servletRequest.getSession().getServletContext().getRealPath("/");
System.out.println("Server path:" + filePath);
File fileToCreate = new File(filePath, this.userImageFileName);
FileUtils.copyFile(this.userImage, fileToCreate);
//String uniqueFileName = fileToCreate.getPath();
pst = connection.prepareStatement(query);
pst.setString(1, this.userImageFileName);
i = pst.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
addActionError(e.getMessage());
return INPUT;
}
return SUCCESS;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/24970354/how-to-pass-on-getgeneratedkeys-to-the-next-page[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия