2017-01-07 3 views
0

removebutton_ClickSQL löschen Zeile aus Tabelle Syntaxfehler

protected void removebutton_Click(object sender, EventArgs e) 
{ 
    string RemoveSQL; 

    OleDbConnection mDB = new OleDbConnection(); 
    mDB.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;Data source=" 
          + Server.MapPath("~/App_Data/database.accdb"); 
    mDB.Open(); OleDbCommand cmd; 

    Button removebutton = (Button)sender; 
    Label carttransactionlabel = (Label)removebutton.Parent.FindControl("carttransactionlabel"); 

    int intTransNo = int.Parse(carttransactionlabel.Text); 

    RemoveSQL = "DELETE FROM orderItems" 
       + "WHERE iTransaction_No = @TransNo"; 

    cmd = new OleDbCommand(RemoveSQL, mDB); 

    cmd.Parameters.Add("@TransNo", OleDbType.Integer).Value = intTransNo; 

    cmd.ExecuteNonQuery(); 

    mDB.Close(); 
} 

Was ich versuche, hier zu tun ist, dass, wenn der Benutzer auf die Schaltfläche removebutton klickt, die SQL-Befehl RemoveSQL wird die gesamte Zeile der Transaktion von der orderItems entfernen Tabelle in MS Access basierend auf der Transaktionsnummer (carttransactionlabel).

Tabelle enter image description here

aber wenn ich versuche, auf der RemoveButton Schaltfläche klicken, wird dieser Fehler enter image description here

Offenbar ein Syntaxfehler in der SQL-Anweisung gibt es, die ich nicht zu erkennen scheinen kann. Hilfe wäre willkommen.

+6

Es fehlt ein Leerzeichen zwischen orderItems und WHERE –

Antwort

2

Drucken Sie Ihre SQL aus, bevor Sie sie ausführen! Zumindest einige Probleme werden offensichtlich sein.

Sie haben diesen Code:

RemoveSQL = "DELETE FROM orderItems" + "WHERE iTransaction_No = @TransNo"; 

Wenn Sie dies aus drucken, wird es wie folgt aussehen:

RemoveSQL = "DELETE FROM orderItemsWHERE iTransaction_No = @TransNo"; 

den Fehler und beheben sollte klar sein.

Hinweis: Möglicherweise haben Sie andere Probleme in Ihrem Code.

Verwandte Themen