Ребята, я довольно долго боролся с этой проблемой, я новичок в использовании вызовов ajax и функций, связанных с jdb c. Переходя к точке, я передаю значение datepicker стороне сервлета с помощью функции ajax, функция работает правильно, я печатаю значение в случайном div, чтобы увидеть, работает ли оно и работает ли оно , Теперь, как я могу взять это значение и использовать его в подготовленном выражении для поиска в моей базе данных в зависимости от даты, выбранной пользователем, можно ли это вообще сделать?
вот какой-то код, чтобы добавить больше контекста
$.ajax({
type:'POST',
data:{dateinput:dateinput},
url:'/Rest/sales?action=param2',
dataType: 'json',
success:function(result){
$('#altdate').html(result);
},
error: function (error) {
console.log(error);
}
});
});
У меня есть подготовленное утверждение со значением stati c, просто чтобы посмотреть, работает ли оно (оно работает), но здесь я не могу добиться прогресса, как мне объявить это значение?
ConnectionPool pool = ConnectionPool.getInstance(DatosGeneral.DATABASE);
Connection connection = pool.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
String[] ids = null;
double[] prices = null;
try{
String query = "SELECT * FROM [" + GeneralData.DATABASE + "].[dbo].[SalesDetails] "
+ "WHERE [Branch] = '" + GeneralData.bra + "' "
+ "AND [UpDate] = ?" ; //previous value 20190521
System.out.println(query);
ps = connection.prepareStatement(query,
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = ps.executeQuery();
int rowcount = 0;
if (rs.last()) {
rowcount = rs.getRow();
rs.beforeFirst();
}
ids = new String[rowcount];
prices = new double[rowcount];
for (int i = 0; rs.next(); i++) {
if (rs.getString("Type").replaceAll("\\s+", "").equals("PROD")) {
ids[i] = rs.getString("ProductCode").replaceAll("\\s+", "");
prices[i] = rs.getDouble("Price");
}
}
Наконец-то моя функция допоста, где я запрашиваю параметры
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action= request.getParameter("action");
if(action.equals("param1")){
int i = Integer.parseInt(request.getParameter("branch"));
GeneralData.bra = GeneralData.branches[i];
GeneralData.braName = GeneralData.braNames[i];
System.out.println(GeneralData.bra);
}else if (action.equals("param2")){
String altdate = request.getParameter("dateinput");
PrintWriter out = response.getWriter();
out.print(altdate);
}
любая помощь будет признательна