如何发送MySQL参数

本文关键字:参数 MySQL 何发送 | 更新日期: 2023-09-27 17:59:07

你好,我有以下触发器:

CREATE TRIGGER `update` AFTER UPDATE ON `table 1` 
FOR EACH ROW INSERT INTO table 2 (
Id,
Revision,
Purpose,
Change
)
VALUES
(
OLD.Id,
OLD.Revision,
OLD.Purpose,
@purpose_change  /* user variable */
);

$$分隔符;

我使用的是C#WebService、Ajax和JavaScript。以下是我的C#更新方法(目前不起作用)

"UPDATE table 1 SET Revision=@revision, Purpose=@purpose, @purpose_change=@change WHERE (Id =@id)";

问题从这里开始,因为我不知道如何发送@objective_channge。

这是我的Web方法。

[WebMethod(EnableSession = true)]
public string ActualizarAlerta(int id, string revision, string purpose, string change, int op)
{
    string respuesta = "An Error Has Ocurred.";
    try
    {
        UpdateAlert ua = new UpdateAlert(id, revision, purpose, change);
        int resp = conn.UpdateAlerta(ua, op);
        if (resp > 0)
            respuesta = "Works!.";
    }
    catch (Exception ex)
    {
        respuesta = "An Error Has Ocurred: " + ex.Message;
    }
    return respuesta;
}

这是我的JavaScriptwithAJAX调用。

 $.ajax({
    type: "POST",            
    url: urlServer + "ws_alerts.asmx/ActualizarAlerta",                      
    data: '{' +
        '"id":' + id +
        ',"revision":"' + rev +
        '","purpose":"' + pur +           
        '","change":"' + change +
        '","op":' + op + '}',      
    dataType: "json",              
    contentType: "application/json",        
    timeout: 60000,       
    error: function (xhr) {  
        bootbox.alert("Ocurrio un error al procesar la peticion.");
    },
    success: function (data) {
        bootbox.alert(data.d);
    }
});

id、rev、change等为$('#MyId').val()

我知道所有的问题都在更新查询中,但我不知道如何正确处理,我该怎么做?

如何发送MySQL参数

这是一个mysql用户变量,必须在UpdateAlerta() 之前运行原始查询

SqlCommand cmd = new SqlCommand("set @purpose_change = 'Purpose change to 1';", conn);
cmd.ExecuteNonQuery();

ps(我记得这里还有一个相关的问题)