使用vb.net和mysql(联机)执行命令时遇到致命错误



我有一个用vb.net和mysql构建的桌面应用程序,它运行得很好,但昨天我在执行选择命令时遇到了问题:

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)上运行命令时,它就起作用了!

之前一切都很好,所以这是一个新问题

我得到的错误是(在命令执行过程中遇到的致命错误)

我认为您的SQL非常复杂,所以您应该知道正在处理的记录的数量,我认为您应该将命令分开,在一个命令中获得每个部分,然后将它们合并到数据集中的一个数据表中。

最新更新