以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  能否通过一个表内容来控制生成全局变量  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=162205)

--  作者:ts9277
--  发布时间:2021/4/8 20:50:00
--  能否通过一个表内容来控制生成全局变量

图片点击可在新窗口打开查看此主题相关图片如下:4-8.png
图片点击可在新窗口打开查看

想通过一个表来控制生成全局变量,表中的内容如何又能成为一个变量的名称,老师请问下,这个能实现吗?

--  作者:ts9277
--  发布时间:2021/4/8 20:59:00
--  
以下内容为程序代码:

1 Dim cmd As new SQLCommand
2 cmd.C
3 Dim text,bh,nm As String
4 Dim t As Table=Tables("加载表")
5 Dim r As Row
6
7 For i As Integer=0 To t.Rows.count-1
8 If t.Rows(i)("表名")<>"" Then
9 If t.Rows(i)("编号")<>"" Then
10 nm=t.Rows(i)("表名")
11 bh=t.Rows(i)("编号")
12 Public t.Rows(i)("编号") As DataTable
13 text="Select * fr om {nm} where [_Identify] Is null"
14 cmd.CommandText=text
15 t.Rows(i)("编号") =cmd.ExecuteReader()
16
17 End If
18 End If
19 Next
[此贴子已经被作者于2021/4/8 21:01:54编辑过]

--  作者:有点蓝
--  发布时间:2021/4/8 21:22:00
--  
实现不了。还不如需要的时候直接查表获取数据。

或者考虑把表格数据放到一个字典里使用

--  作者:kennypalm
--  发布时间:2021/4/8 22:52:00
--  
DataTables("system_config").load
Tables("system_config").sort="primary_key"
Dim StrName(Tables("system_config").Rows.Count) As String
Dim StrValue(Tables("system_config").Rows.Count) As String

Dim r2 As Row

For i=0 To Tables("system_config").Rows.Count-1
    r2=Tables("system_config").Rows(i)
    
    strname(i)= r2("var_name"   )
    strvalue(i)= r2("var_value"   )
    \'            output.Show ( i  & "     " &         strname(i)   & "     " &         strvalue(i)   )
    
    vars.Add (  strname(i)   ,Gettype(String), strvalue(i)  )
   \' i=i+1
Next

这样就可以 有 vars 的变数值是预先从资料库取出的



--  作者:有点蓝
--  发布时间:2021/4/8 23:04:00
--  
vars本身其实也就是一个字典
--  作者:y2287958
--  发布时间:2021/4/9 8:15:00
--  
以下是引用有点蓝在2021/4/8 23:04:00的发言:
vars本身其实也就是一个字典

既然是一个字典,那么如何去循环它得到相关值?


--  作者:有点蓝
--  发布时间:2021/4/9 8:52:00
--  
foxtable做了封装,没有提供遍历的功能。准确来说vars应该是是一个自定义的对象集合
[此贴子已经被作者于2021/4/9 8:53:19编辑过]

--  作者:ts9277
--  发布时间:2021/4/9 15:14:00
--  
谢谢各位的回答