我有利用MySQL的會話變量(注意@rank變量)你可以在C#連接器中使用MySQL @ session變量嗎?
SELECT Rank, UserId, CurrentVDOT
FROM
(
SELECT @rank := @rank + 1 AS Rank, UserId, MaxVDOT AS CurrentVDOT
FROM
(
SELECT UserId, MAX(VDOT) AS MaxVDOT
FROM
(
SELECT U.UserId, U.VDOT
FROM
(
SELECT UserId, MAX(Created) AS Created
FROM UserVDOT
GROUP BY UserId
) G
INNER JOIN UserVDOT U
ON U.UserId = G.UserId
AND U.Created = G.Created
) M
GROUP BY UserId
ORDER BY MaxVDOT DESC
) R, (SELECT @rank := 0) foo
) F
WHERE F.UserId = @UserId;
如果我試圖對C#的MySQL連接器執行此,它試圖告訴我,我需要聲明@rank作爲查詢一個輸入參數變量。
有沒有辦法解決這個問題?
謝謝。
通常,當使用'@something'時C#會認爲您正在嘗試創建[SqlParameter](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter.aspx) 。有另外一種方法可以在MySQL中聲明會話變量嗎?更多信息[這裏](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sessionparameter.aspx)。 – Brian 2013-05-02 21:35:34