以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  实现了list查询数据的显示 但是参照帮助没有成功实现数据的新增 编辑和删除  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=153166)

--  作者:李孝春
--  发布时间:2020/8/2 20:25:00
--  实现了list查询数据的显示 但是参照帮助没有成功实现数据的新增 编辑和删除
实现了list查询数据的显示   但是参照帮助没有成功实现数据的新增  编辑和删除  麻烦老师继续指导下

以下内容是专门发给有点蓝浏览


[此贴子已经被作者于2020/8/2 22:33:26编辑过]

--  作者:有点蓝
--  发布时间:2020/8/2 21:25:00
--  
没有引用和调用js文件:http://www.foxtable.com/mobilehelp/topics/0129.htm
--  作者:有点蓝
--  发布时间:2020/8/2 21:30:00
--  
 wb.AppendHTML("<script>" & vars("order") & "</script>") \'引入脚本文件
[此贴子已经被作者于2020/8/2 21:32:01编辑过]

--  作者:李孝春
--  发布时间:2020/8/2 23:00:00
--  回复:(有点蓝) wb.AppendHTML("<script>...
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:自定义函数,GetOrderID
详细错误信息:
调用的目标发生了异常。
索引超出了数组界限。


GetOrderID函数代码如下:(按照帮助教程内容写的  不知道为什么会提示超出数组)
Dim e As RequestEventArgs = args(0)
Static Lastbh As String \'通过这个Static变量可以访问上一次生成的编号,避免重复Compute
Dim prefix As String = Format(Date.now,"yyyyMMdd") \'本次编号前缀
If Lastbh >"" AndAlso Lastbh.SubString(0,8) = prefix Then \'如果上一次生成编号的前缀和本次相同
    Lastbh = prefix & Format(Cint(Lastbh.SubString(8,3)) + 1,"000") \'在上次编号的基础上递增1
Else
    \'取数据表中同前缀的最大编号
    Dim max As String=DataTables("订单").SQLCompute("Max(编号)","编号 like \'" & prefix & "%\'")
    If max = "" Then \'如果不存在同前缀的编号
        Lastbh  = prefix & "001"  \'同前缀的第一个编号
    Else
        Lastbh = prefix & Format(CInt(max.SubString(8,3)) + 1,"000") \'在同前缀最大编号的基础上递增1
    End If
End If
Return Lastbh

--  作者:有点蓝
--  发布时间:2020/8/2 23:06:00
--  
假设Lastbh没有值,或者长度不足8位,红色代码肯定会出错

Dim e As RequestEventArgs = args(0)
Static Lastbh As String \'通过这个Static变量可以访问上一次生成的编号,避免重复Compute
Dim prefix As String = Format(Date.now,"yyyyMMdd") \'本次编号前缀
If Lastbh >"" AndAlso Lastbh.SubString(0,8) = prefix Then \'如果上一次生成编号的前缀和本次相同
    Lastbh = prefix & Format(Cint(Lastbh.SubString(8,3)) + 1,"000") \'在上次编号的基础上递增1
Else
    \'取数据表中同前缀的最大编号
    Dim max As String=DataTables("订单").SQLCompute("Max(编号)","编号 like \'" & prefix & "%\'")
    If max = "" Then \'如果不存在同前缀的编号
        Lastbh  = prefix & "001"  \'同前缀的第一个编号
    Else
        Lastbh = prefix & Format(CInt(max.SubString(8,3)) + 1,"000") \'在同前缀最大编号的基础上递增1
    End If
End If
Return Lastbh