Foxtable(狐表)用户栏目专家坐堂 → MYSQL关联出错


  共有4982人关注过本帖树形打印复制链接

主题:MYSQL关联出错

帅哥哟,离线,有人找我吗?
lin98
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/17 10:39:00 [只看该作者]

Dim db = HySql.DataBaseFactory.CreateDatabase("db_jxcms")
Dim Sql = "selec-t * from tb_sell_main;"
Dim dt As system.data.DataTable = db.ExecuteDataSet(Sq-l).Tables(0)
Output.Show(dt.Rows.Count)
dt.TableName = "tb_sell_main"
Dim t As Table = e.Form.Controls("Table1").Table
t.datasource = dt
t.AllowEdit = True


图片点击可在新窗口打开查看此主题相关图片如下:mysql关联.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/17 10:41:00 [只看该作者]

是不是列名输错了,l输成了1.

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/17 10:54:00 [只看该作者]

不会,我从MYSQL库的字段复制过,sellID

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/17 11:00:00 [只看该作者]

那就不知道是什么原因了。反正错误提示是不会骗人的,说没有这个列,肯定就没有。从这方面检查一下吧

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/17 11:24:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:mysql-关联1.jpg
图片点击可在新窗口打开查看

执行下面代码
Dim t2 As Table = Tables("MYSQL-01_Table2") '
With Tables("MYSQL-01_Table1") '
    If .Current Is Nothing Then
        t2.Filter = "False"
    Else
        
        t2.Filter = "sellID = '" & .Current("sellID") & "'" 
        
    End If
End With
执行上面代码,如图

图片点击可在新窗口打开查看此主题相关图片如下:mysql-关联2.jpg
图片点击可在新窗口打开查看

这步,有以下问题:

问题一:执行下面代码
'表CurrentChanged
If Forms("MYSQL-01").Opened() Then'一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("MYSQL-01_Table2") 
    With Tables("MYSQL-01_Table1")
        
        If .Current Is Nothing Then
            t.Filter = "False"
        Else
           ' t.Filter = "tb_sell_main.sellID = '" & .Current("tb_sell_main.sellID") & "'"
            t.Filter = "sellID = '" & .Current("sellID") & "'"
        End If
    End With
End If 

报错找不到sellID,tb_sell_main.sellID

问题二,主表可新增行,但明细表则不能新增行,不为什么?

问题三:下面代码也没有作用

'6、将表的全局DataRowAdding事件代码设置为:

If CurrentTable.Name = "MYSQL-01_Table2" Then '如果当前表是模拟的关联表
'    Dim r As Row = Tables("tb_sell_main").Current
    Dim r As Row = Tables("MYSQL-01_Table1").Current
    
    If r IsNot Nothing Then
        e.DataRow("sellID") = r("sellID")
        
    End If
End If





 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/17 11:42:00 [只看该作者]

问题估计大概是没有在全局表事件里判断表名,建议仔细把这个帮助阅读几遍:http://www.foxtable.com/webhelp/topics/0671.htm

全局表事件是所有表都会触发的,比如切换到其它没有sellID列的表,也会触发全局的CurrentChanged事件

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/17 12:39:00 [只看该作者]

数据库 :db_jxcms,数据表分别:tb_sell_main  、tb_sell_detail,查不问题,请老师帮助处理,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/17 13:33:00 [只看该作者]

麻烦认真看看帮助好吗?!!

Select Case e.Table.Name
    Case 
"MYSQL-01_Table1"
        
'针对MYSQL-01_Table1的代码
    Case 
"MYSQL-01_Table2"
        
'针对MYSQL-01_Table2的代码
    Case 
"表C"
        
'针对表C的代码
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/18 9:13:00 [只看该作者]

Select Case e.Table.Name
    Case "MYSQL-01_Table1"
        '针对MYSQL-01_Table1的代码
        If Forms("MYSQL-01").Opened() Then'一定要判断用于模拟关联表的窗口是否已经打开
            Dim t As Table = Tables("MYSQL-01_Table2") 
            With Tables("MYSQL-01_Table1")
                
                If .Current Is Nothing Then
                    t.Filter = "False"
                Else
                    '            t.Filter = "tb_sell_main.sellID = '" & .Current("tb_sell_main.sellID") & "'"
                    t.Filter = "sellID = '" & .Current("sellID") & "'"
                End If
            End With
        End If
        
        '    Case "MYSQL-01_Table2"
        '        '针对MYSQL-01_Table2的代码
        '    Case "表C"
        '        '针对表C的代码
End Select

报错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,MYSQL-01,AfterLoad
详细错误信息:
Unable to connect to any of the specified MySQL hosts.


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/18 9:15:00 [只看该作者]

错误所在事件:窗口,MYSQL-01,AfterLoad

 回到顶部
总数 58 上一页 1 2 3 4 5 6 下一页