簡體   English   中英

SELECT語句中的OleDbCommand語法錯誤0x80040E14

[英]OleDbCommand syntax error 0x80040E14 in SELECT Statement

此查詢在Access 2010中可以完美運行:

SELECT te.[EnterpirseName], COUNT(to.[ID]) AS Orgs, SUM(to.[Members]) AS Mems
FROM tbl_Enterprise AS te, tbl_Organizations AS to
WHERE to.[Enterprise_ID] = te.[ID] AND te.[Status] = 1
GROUP BY te.[EnterpirseName]

但是,當我嘗試從C# winforms應用程序執行它時,出現語法錯誤:

0x80040E14 Syntax error near keyword FROM

編輯:我的C#代碼:

string strCommand = "SELECT te.[EnterpirseName], COUNT(to.[ID]) AS Orgs, SUM(to.[Members]) AS Mems" +
    " FROM tbl_Enterprise AS te, tbl_Organizations AS to" +
    " WHERE to.[Enterprise_ID] = te.[ID]" +
    " AND te.[Status] = 1" +
    " GROUP BY te.[EnterpirseName]";

DataTable dt = new DataTable();

using (OleDbConnection conn = new OleDbConnection(strConnString))
{
    OleDbDataAdapter da = new OleDbDataAdapter(strCommand, conn);

    using (DataSet ds = new DataSet())
    {
        // THIS IS WHERE I GET THE ERROR
        da.Fill(ds);
        dt = ds.Tables[0];
    }
}

這就是strCommand在Debug中的樣子:

在此處輸入圖片說明

TO在Access中也是保留字。 嘗試將其替換為tbl_Org類的tbl_Org

您確定您的c#應用程序未使用其他引擎(例如SQL Server)嗎? 在SQL Server中,TO是保留字,因此應改為使用[To]。

暫無
暫無

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

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