Als Nächstes erstellen Sie einen Dienst, um eine neue Zeile in die Datenbank einzufügen, in der die Daten des adaptiven Formulars und die zugehörigen Anhänge gespeichert werden.
Der folgende Screenshot zeigt eine Zeile in der Datenbank.
Der folgende Code fügt eine neue Zeile mit den entsprechenden Daten in die Datenbank ein
public String storeFormData(String formData, String attachmentsInfo, String telephoneNumber) {
log.debug("******Inside my AEMFormsWith DB service*****");
log.debug("### Inserting data ... " + formData + "and the telephone number to insert is " + telephoneNumber);
String insertRowSQL = "INSERT INTO aemformstutorial.formdatawithattachments(guid,afdata,attachmentsInfo,telephoneNumber) VALUES(?,?,?,?)";
UUID uuid = UUID.randomUUID();
String randomUUIDString = uuid.toString();
log.debug("The insert query is " + insertRowSQL);
Connection c = getConnection();
PreparedStatement pstmt = null;
try {
pstmt = null;
pstmt = c.prepareStatement(insertRowSQL);
pstmt.setString(1, randomUUIDString);
pstmt.setString(2, formData);
pstmt.setString(3, attachmentsInfo);
pstmt.setString(4, telephoneNumber);
log.debug("Executing the insert statment " + pstmt.executeUpdate());
c.commit();
} catch (SQLException e) {
log.error("unable to insert data in the table", e.getMessage());
} finally {
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
log.debug("error in closing prepared statement " + e.getMessage());
}
}
if (c != null) {
try {
c.close();
} catch (SQLException e) {
log.debug("error in closing connection " + e.getMessage());
}
}
}
return randomUUIDString;
}