2014-02-20 105 views
1

上午在C#.Net傳遞MYSQL查詢,我總是得到相同的錯誤。'/'應用程序中的服務器錯誤。在C#.net

我的查詢是

topCustomers.DataSource = GetData("SELECT l.Username , Sum(ad.Amt) AS Amount ,ad.UserDate FROM adm_advt_answer ad" + 
           "JOIN adm_advt_question adq ON ad.Q_ID = adq.nID" + 
           " INNERJOIN login l ON adq.Buserid = l.Buserid WHERE adq.Buserid = '" + username + "' AND adq.Active='Y' AND date(ad.UserDate) = '2014-02-20'" + 
           " GROUP BY UserId"); 
    topCustomers.DataBind(); 

請糾正我的語法。

我的錯誤是

您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在'adm_advt_question adq ON ad.Q_ID = adq.nID INNERJOIN登錄l ON adq.Buserid = 1'附近使用正確的語法。在線1

+0

請格式化你的問題... –

+2

INNERJOIN應該是INNER JOIN – wxyz

+1

您也是在這個字符串的開始需要一個空間:「JOIN adm_advt_question adq ON ad.Q_ID = adq.nID」+ – flipchart

回答

0

嘗試INNER JOIN而不是INNERJOIN

topCustomers.DataSource = GetData("SELECT l.Username , Sum(ad.Amt) AS Amount 
,ad.UserDate FROM adm_advt_answer ad " +//Notice the space at ending 
"JOIN adm_advt_question adq ON ad.Q_ID = adq.nID" + 
" INNER JOIN login l ON adq.Buserid = l.Buserid WHERE adq.Buserid = '" + username + "' AND 
adq.Active='Y' AND date(ad.UserDate) = '2014-02-20'" + 
" GROUP BY UserId"); 

您應該考慮使用PreparedStatements避免sql injection。(對於參數username

相關問題