Foxtable(狐表)用户栏目专家坐堂 → 怎么连接MYSQL数据库,操作?


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

主题:怎么连接MYSQL数据库,操作?

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


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

MYSQL在狐表上没有图片点击可在新窗口打开查看

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/7 11:45:00 [显示全部帖子]

问题一:模拟关联,步骤一就是要做个图片点击可在新窗口打开查看


问题二:执行下面的代码,无效


Forms("MYSQL-01").Controls("TextBox1").BindingField = "tb_sell_main.cry"
Forms("MYSQL-01").Controls("TextBox2").BindingField = "tb_sell_main.jsr"
Forms("MYSQL-01").Controls("TextBox3").BindingField = "tb_sell_main.jsfs"

'"MYSQL-01"是窗口名


问题三:执行下面的代码,报错,提示无"tb_sell_main",这个MYSQL中的表
With DataTables("tb_sell_main")
    .DataCols("cry").Caption = "创建人"
    .DataCols("jsr").Caption = "经办人"
    .DataCols("jsfs").Caption = "结算方式"
'    .DataCols("第四列").Caption = "一季度_西部"
'    .DataCols("第五列").Caption = "一季度_东部"
'    .DataCols("第六列").Caption = "一季度_西部"
    
    
    
    
    .BuildHeader()
End With



















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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/7 13:34:00 [显示全部帖子]

MYSQL数据源的表,没有表的DataColChanged事件,下面事件如何实现?


表的DataColChanged事件代码设置为:

Select Case e.DataCol.Name
    Case "产品编号"
        Dim pr As DataRow = e.DataRow.GetParentRow("产品")
        If pr IsNot Nothing Then
            e.DataRow("单价") = pr("单价")
        End 
If

End
 Select


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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/7 14:07:00 [显示全部帖子]

Forms("MYSQL-01").Controls("TextBox3").BindingField = "MYSQL-01_table1.第八列"
Forms("MYSQL-01").Controls("TextBox3").BindingField = "MYSQL-01_table1.jsfs"
执行上面代码,没有报错,也没反应

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/7 15:05:00 [显示全部帖子]

一个控件只能绑定一个列。真实的列名是什么?
1、一个控件只能绑定一个列。
27楼是同一个列,分写2种测试,2种不失效
2、真实的列名是什么?
tb_sell_main.jsfs,真实的列名是jsfs

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


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

3、还有一个问题,如何从MYSQL的字段直接绑定窗口上控件?

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/7 16:04:00 [显示全部帖子]

'4、窗口的AfterLoad事件设为:

Dim t2 As Table = Tables("MYSQL-01_Table1")
'With Tables("tb_sell_main")
With Tables("MYSQL-01_Table1")
    
    If .Current Is Nothing Then
        t2.Filter = "False"
    Else
        t2.Filter = "sellID = " & .Current("sellID")
    End If
End With



'5、关闭窗口设计器,回到产品表,打开表属性设置窗口,将其表全局CurrentChanged事件代码设为:

If Forms("MYSQL-01").Opened() Then'一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("MYSQL-01_Table1")
'    With Tables("tb_sell_main")
        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

模拟关联,执行报错

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


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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/4/7 16:22:00 [显示全部帖子]

8、将订单表的DataColChanged事件代码设置为:

Select Case e.DataCol.Name
    Case "产品编号"
        Dim pr As DataRow = e.DataRow.GetParentRow("产品")
        If pr IsNot Nothing Then
            e.DataRow("单价") = pr("单价")
        End 
If

End
 Select

这样在订单表输入产品编号,会自动从产品表中找出对应的产品,然后取其单价填入到订单表的单价列中。

9、将产品表的DataColChanged事件代码设置为:

If e.DataCol.Name = "单价" Then '更新未确认订单的单价
    Dim drs As List(of DataRow)
    drs = e.DataRow.GetChildRows("订单")
    
For Each dr As DataRow In drs
        
If dr("确认") = False Then
            dr("单价") = e.DataRow("单价")
        End If
    
Next

End
 If

这样在产品表修改某产品的单价,系统会找出订购此产品的全部订单,然后并将未确认订单的单价更新为新的单价。


MYSQL没有这二个表的属性,DataColChanged事件,直接引用肯是错,如果要写在全局件怎么改?

[此贴子已经被作者于2023/4/7 16:40:15编辑过]

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


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

19楼,字段如绑窗口上的控件,表用SQLTable,
用下面代码,报错,找不到MYSQL001_Table1
Forms("MYSQL001_Table1").Controls("TextBox1").BindingField = "采购单号"
Forms("MYSQL001_Table1").Controls("TextBox2").BindingField = "供方"
Forms("MYSQL001_Table1").Controls("TextBox3").BindingField = "订单属性"

 回到顶部
总数 20 上一页 1 2