I'm making a simple java query app. This is just a simple test so I don't care about security or anything
I just want to return data to the ajax post so I can create a HTML table with the data.
It would be something like AJAX REQUEST -> Execute Query -> Return Titles and Data -> Create a table.
How should I return this? I alrady can get the data but how should I send the titles and all rows to create the table??
AJAX
$('#btnSubmit').click(function () {
var query = $('#query').val();
console.log(query);
var environmentName = $('#environmentName').val();
$.ajax({
url: '/sql/call',
type: 'get',
data: {environmentName: environmentName, query: query},
success: function (result) {
console.log(result);
},
error: function () {
}
})
});
JAVA
public static String callProfileSQL(String sql, String mtmPort) {
Connection connection = createConnection(mtmPort);
String out = "";
try {
if(connection != null) {
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet rs = statement.executeQuery();
if (!rs.isBeforeFirst()) {
out = "No data";
}
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount();
while (rs.next()) {
StringBuilder row = new StringBuilder();
for(int i = 1; i <= columnCount; i++) {
row.append(rs.getString(i)).append("; ");
System.out.println(row);
}
}
connection.close();
}
else {
//TODO force error
}
} catch (SQLException e) {
e.printStackTrace();
}
return out;
}