2016-07-28 16 views
0

こんにちは、私は、次のトリガーがあります。MySQLのパラメータを送信する方法

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

$$ DELIMITERを。

私はC#WebService、Ajax、およびJavaScriptを使用しています。私は@purpose_channgeを送信するために正確にどのように知らないので、ここでは(モーメントdoesntの仕事で)更新のための私のC#のメソッド

"UPDATE table 1 SET [email protected], [email protected], @[email protected] WHERE (Id [email protected])"; 

はここで、問題を開始します。

私のウェブメソッドです。

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

ここに私のJavaScriptであるAJAX呼び出しがあります。

$.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、変更などはあります$( '#のMYID')。valを()

私はすべての問題は、更新クエリであることを知っているが、私はそれを行う方法を知りません正しく、どうしたらいいですか?

+0

あなたのUPDATE文でこの '@ purpose_change = @ change'前の生のクエリを実行する必要がありますが間違っていると、 'UPDATE'は列に値を設定する必要があります。 – Habib

+0

は変更しないでください@purpose_change – Steve

+0

テーブル1には変更フィールドがありません。テーブル2に変更があるだけです。 –

答えて

0

mysqlユーザ変数である、あなたはUpdateAlerta()

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

PS(私は別の関連質問hereを覚えている)

+0

その関連する質問は私の問題です。ここで私は@ purpose_change、私は別のパラメータでこの値を送信する必要があります。 –

関連する問題