Я пытаюсь обновить данные из представления в базу данных, используя hibernate .. Я хочу обновить данные таблицы из представления в базе данных, используя метод публикации JQuery ... когда я нажимаю на обновление вместо обновления существующей строки, вставляется обновленное значениев новой строке ...
Я делал это ...
// click on button(update) and update in database and table
$(document).on("click", ".upDate", function(){
var empty = false;
var input = $(this).parents('tr').find('input[type="text"]');
$(this).parents('tr').find(".error").first().focus();
if(!empty){
var sn='';
var itemName = '';
var desc = '';
var pri = '';
input.each(function(index){
var valll = $(this).parent('td').html($(this).val());
var columnData =valll.context.value;
if(index ==0)
{
itemName = columnData;
} else if(index ==1){
desc = columnData;
} else if(index ==2){
pri = columnData;
}
});
//calling of update function
upDate(itemName,desc,pri);
}
});
// passing columns to function update and post in controller
function upDate(itemName,desc,pri,sn)
{
var dataO = JSON.stringify({
"SN":sn,
"itemName":itemName,
"des":desc,
"price":pri
});
alert("delete ajax post:"+dataO);
$.ajax({
type :"POST",
url:"http://localhost:8080/putdta",
contentType:"application/json",
data:dataO,
success : function(data) {
alert("inside success")
},
error : function(textStatus) {
alert("Error loading..");
}
});
}
// это функция
public String updateData(TableModel mTableModel) {
String response = null;
try {
int UpdateRecordCount = mItemDataBase.updteOperation("update item_details set ItemDetails='"+ mTableModel.getItemName() +"'+"+ mTableModel.getPrice()+"+"+mTableModel.getDes()+"where sn =" + mTableModel.getSN());
//int UpdateRecordCount=mItemDataBase.putDGata(mTableModel);
if (UpdateRecordCount == -1) {
System.out.println("record is not updated");
response = "Record not updated";
} else {
System.out.println("updated records=" + UpdateRecordCount);
response = "updated records=" + UpdateRecordCount;
}
} catch (Exception e) {
response = e.getMessage();
}
return response;
}