如何发送MySQL参数

时间:2016-07-28 13:21:58

标签: javascript c# mysql ajax

您好我有以下触发器:

   public static void StaleHandle(WebElement element) 
   {
       for(int i=0; i<5;i++)
       try
       {
           // whatever actions performed by the element.
           break;
       }
       catch(StaleElementReferenceException e)
       {

            System.out.println("Trying to recover from a stale element :" + e.getMessage());

       }

   }

$$ DELIMITER;

我正在使用C#WebService,Ajax和JavaScript。这是我的C#更新方法(目前不起作用)

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 */
);

这里开始出现问题,因为我不确切知道如何发送@purpose_channge。

这是我的网络方法。

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

这是我用AJAX调用的JavaScript。

[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;
}

id,rev,change等等。$(&#39;#MyId&#39;)。val()

我知道所有问题都在更新查询中,但我不知道如何正确执行,我该怎么办?

1 个答案:

答案 0 :(得分:0)

这是一个mysql用户变量,您必须在UpdateAlerta()

之前运行原始查询
SqlCommand cmd = new SqlCommand("set @purpose_change = 'Purpose change to 1';", conn);
cmd.ExecuteNonQuery();

ps(我记得另一个相关问题here