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


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

主题:MYSQL关联出错

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


加好友 发短信
等级:五尾狐 帖子:1159 积分:7666 威望:0 精华:0 注册:2020/11/4 22:15:00
MYSQL关联出错  发帖心情 Post By:2023/4/17 9:13:00 [显示全部帖子]

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 = "sellID = " & .Current("sellID")
            t.Filter = "MYSQL-01_Table1.sellID = " & .Current("MYSQL-01_Table1.sellID")
'            t.Filter = "tb_sell_main.sellID = " & .Current("tb_sell_main.sellID")
'            t.Filter = "sellID = " & .Current("sellID")
            
        End If
    End With
End If


.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:全局表事件,CurrentChanged
详细错误信息:
列“MYSQL-01_Table1.sellID”不属于表 MYSQL-01_Table1。

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


加好友 发短信
等级:五尾狐 帖子:1159 积分:7666 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/17 9:23:00 [显示全部帖子]

试一下,报错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:
详细错误信息:
未找到列 [sellID]。

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


加好友 发短信
等级:五尾狐 帖子:1159 积分:7666 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/17 9:28:00 [显示全部帖子]

改为下面也报错

t.Filter = "MYSQL-01_Table1.sellID = '" & .Current("MYSQL-01_Table1.sellID") & "'"
MYSQL-01_Table1.sellID
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:全局表事件,CurrentChanged
详细错误信息:
列“MYSQL-01_Table1.sellID”不属于表 MYSQL-01_Table1。

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


加好友 发短信
等级:五尾狐 帖子:1159 积分:7666 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/17 9:55:00 [显示全部帖子]

If Forms("MYSQL-01").Opened() Then'一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("tb_sell_detail")
    With Tables("tb_sell_main")
        'With Tables("tb_sell_main") '报错 不存在这个表
        
        If .Current Is Nothing Then
            t.Filter = "False"
        Else
          t.Filter = "sellID = '" & .Current("sellID") & "'"  
            
            
            
            
        End If
    End With
End If

报错找不到表tb_sell_detail、tb_sell_main
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:全局表事件,CurrentChanged
详细错误信息:
未将对象引用设置到对象的实例。

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


加好友 发短信
等级:五尾狐 帖子:1159 积分:7666 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/17 10:21:00 [显示全部帖子]

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 = "sellID = '" & .Current("sellID") & "'"
            
        End If
    End With
End If

执行报错找不到sellID 列,MYSQL库中主表和明细都有sellID 列

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


加好友 发短信
等级:五尾狐 帖子:1159 积分:7666 威望: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
图片点击可在新窗口打开查看


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


加好友 发短信
等级:五尾狐 帖子:1159 积分:7666 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/17 10:54:00 [显示全部帖子]

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

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


加好友 发短信
等级:五尾狐 帖子:1159 积分:7666 威望: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





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


加好友 发短信
等级:五尾狐 帖子:1159 积分:7666 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/17 12:39:00 [显示全部帖子]

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

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


加好友 发短信
等级:五尾狐 帖子:1159 积分:7666 威望: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.


 回到顶部
总数 32 1 2 3 4 下一页