簡體   English   中英

SQL從表語法刪除行錯誤

[英]SQL Delete row from table syntax error

removebutton_Click

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();
}

我要在這里完成的工作是,當用戶單擊removebutton按鈕時,SQL命令RemoveSQL將基於事務號( carttransactionlabel )從MS Access的orderItems表中刪除整個事務行。

表格在這里輸入圖片說明

但是,當我嘗試單擊removebutton按鈕時,出現此錯誤,請在此處輸入圖像說明

顯然,SQL語句中存在語法錯誤,我似乎無法發現。 幫助將不勝感激。

在運行之前打印出您的SQL! 至少有些問題是顯而易見的。

您有以下代碼:

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

如果將其打印出來,它將看起來像:

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

錯誤和修復應該很明顯。

注意:您的代碼中可能還有其他問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM