Я настраивал хранимую процедуру для удаления конкретной строки в зависимости от выбранной пользователем опции.Хранимая процедура получила 2 идентификатора и проверила, есть ли они в таблице.Но я не могу понять это.Вы можете помочь?
Моя хранимая процедура выглядит следующим образом
@idcliente numeric,
@codmedia numeric
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
IF (EXISTS(SELECT COD_MEDIA FROM MEIOS_CLIENTES WHERE ID_CLIENTE = @idcliente AND COD_MEDIA = @codmedia))
BEGIN
DELETE FROM MEIOS_CLIENTES WHERE ID_CLIENTE = @idcliente AND COD_MEDIA = @codmedia
END
END
Таблица в базе данных выглядит следующим образом
COD_SERVICO | ID_CLIENTE
1 2
26 2
1 1
32 1
В таблице много записей.
Представьте себе, если пользователь выберет для удаления COD_SERVICO 1 из ID_CLIENTE 2.
РЕДАКТИРОВАТЬ:
Я делаю запрос действия с помощью jquery,код выглядит так:
function removeMeioCliente(idcliente ,idservico) {
bootbox.dialog({
message: "Irá eliminar o serviço selecionado. Deseja continuar?",
title: "Alerta - Eliminação do Serviço",
buttons: {
danger: {
label: "Cancelar",
className: "btn-danger",
callback: function () {
}
}, success: {
label: "Continuar",
className: "btn-success",
callback: function () {
var options = {
url: baseurlrequest + 'cliente/deleteservico',
params: {
id2: idcliente,
id: idservico,
},
onsuccess: displaydeleteservico
}
$.fn.ajaxpostjson(options);
}
}
}
});
}
function displaydeleteservico(data) {
if (data.status == 200) {
toastr.info("Serviço eliminado com sucesso!", 'Cision Corpora');
}
if (data.status == 500) {
toastr.error(data.html, 'Cision Corpora');
}
}
На мой взгляд, моя таблица выглядит следующим образом.Элемент должен быть строкой, потому что я проверял, были ли переданы некоторые идентификаторы, оба равны нулю.
<table class="table table-striped" cellspacing="0">
<thead>
<tr>
<th class="th-sm">Meios do Cliente</th>
<th></th>
</tr>
</thead>
<tbody>
<tbody>
@foreach (var item in Model.Meios)
{
<tr>
<td>
@Html.Raw(item.Item3)
</td>
<td onclick="removeMeioCliente(@item.Item1.ToString(),@item.Item2.ToString());"><i class="fa fa-times"></i></td>
</tr>
}
</tbody>
</table>
Почему оба идентификатора равны нулю?
РЕДАКТИРОВАТЬ 2:
Я оставлю это!
Я опубликую код, если кто-то захочет узнать решение.
На мой взгляд код выглядит следующим образом
<td><a id="servicoidcliente" data-id="@item.Item1" onclick="removeMeioCliente(@item.Item2);"><i class="fa fa-times"></i></a></td>
И в Jquery добавлена простая строка:
var idcliente = $('#servicoidcliente').data("id");
Контроллер:
public ActionResult DeleteServico(string id2,string id)
{
var statusreq = this.StatusOk;
var html = "";
try
{
BusinessService.Cliente.RemoverServicoCliente(id2,id);
}
catch (Exception ex)
{
statusreq = this.StatusError;
html = ex.Message;
}
return Json(new
{
id = id,
id2 = id2
},
JsonRequestBehavior.AllowGet);
}