我有一個用 vb.net 和 mysql 構建的桌面應用程式,它運行良好,但昨天我在執行 select 命令時遇到了問題:
dim xSql As String = "SELECT
p.ID,
p.TheName0,
(SELECT IFNULL(SUM(att.S_FinalAmount),0) From tbl_groups_classes_att att
INNER JOIN tbl_students st
ON st.ID = att.StudentID
INNER JOIN tbl_groups_classes cls
ON cls.ID = att.ClassID
WHERE st.ParentID = p.ID
and cls.TheDate BETWEEN @Date1 and @Date2
and att.TheStatus <> '????'
) as CurrMost,
(SELECT IFNULL(SUM(att.S_FinalAmount),0) From tbl_groups_classes_att att
INNER JOIN tbl_students st
ON st.ID = att.StudentID
INNER JOIN tbl_groups_classes cls
ON cls.ID = att.ClassID
WHERE st.ParentID = p.ID and cls.TheDate< @Date1 and att.TheStatus <> '????'
) as PrevMost,
(SELECT IFNULL(SUM(pay.TheAmount),0) From tbl_parents_payments pay Where p.ID = pay.ParentID
AND pay.TheDate BETWEEN @Date1 and @Date2
) as CurrMadf,
(SELECT IFNULL(SUM(pay.TheAmount),0) From tbl_parents_payments pay Where p.ID = pay.ParentID
AND pay.TheDate < @Date1
) as PrevMadf,
(SELECT CurrMost PrevMost) as AllMost,
(SELECT CurrMadf PrevMadf) as AllMadf,
(SELECT AllMost - AllMadf) AS FinalTotal
from tbl_parents p"
xDS = New Ds_Edsa
Dim xCMD4 As New MySqlCommand(xSql, Conn)
xCMD4.Parameters.Add("@Date1", MySqlDbType.Date).Value = CDate(xxFrom)
xCMD4.Parameters.Add("@Date2", MySqlDbType.Date).Value = CDate(xxTo)
xDadp = New MySqlDataAdapter(xCMD4)
xDadp.Fill(xDS.Tables("AllPar"))
問題僅在在線 mysql 托管中,但是當我在 localhost (mysql) 上運行命令時,它正在作業!
在一切順利之前,這是一個新問題
我得到的錯誤是(命令執行期間遇到的致命錯誤)
uj5u.com熱心網友回復:
我認為你的 SQL 非常復雜,所以你應該知道你正在處理的記錄的數量,我認為你應該將命令分開,將每個部分放在一個命令中,然后將它們合并到資料集中的一個資料表中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/314905.html
上一篇:ReDim后初始化陣列
下一篇:從VB.NetDLL參考DLL
