首页 > 解决方案 > 使用 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) 上运行命令时,它正在工作!

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

我得到的错误是(在命令执行期间遇到致命错误)

标签: mysqlvb.net

解决方案


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


推荐阅读