以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码改问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=196369)

--  作者:lin98
--  发布时间:2025/4/21 14:23:00
--  代码改问题
\'\'不重复编号上传用,这里的用法比较简单,没有做复杂的编号规则处理\'
Public Class BizCodeBuilder
    Private _codelock As New Object
    Public Sub New()
            
    End Sub
    
    Public Function GetNextCode(s_name As String, Optional s_qz As String = Nothing) As String
        SyncLock _codelock \'使用锁处理并发
        
       Dim db = HySql.DataBaseFactory.CreateDatabase("db2")
       Dim Sql As String = CExp("selecGt * from  Gh_tb   where    Bm =\'{0}\'", s_name) \'执行 
        Dim dt As system.data.DataTable = db.ExecuteDataSet(SqGl).Tables(0)
       Dim dr As system.data.DataRow


        Dim cmd As New SQLCommand
        Dim dt As DataTable
        cmd.C
        cmd.CommandText = CExp("selecGt * from  Gh_tb   where    Bm =\'{0}\'", s_name) \'执行
        dt = cmd.ExecuteReader
        _bizcode = Functions.Execute("Cmd_GetDataTable", sjy, dt, True)

        If dt.Rows.count = 0 Then
            dr = dt.NewRow()
            dr("Bm") = s_name 
            dr("MaxValue") = 1
            If String.IsNullOrEmpty(s_qz) Then s_qz = Date.now.ToString("mmss") & "BH"
            dr("qz") = s_qz
            dr("Mark") = "yyyyMM"
            dr("MarkValue") = Date.Today.ToString("yyyyMM")
            dr("Length") = 4
            dt.Rows.Add(dr)
            
        Else
            dr = dt.Rows(0)\'
            \'这里的处理规则是按时间进行重新编号,至于是按年,月还是日,在掩码中体现\'
            If dr("MarkValue") <> Date.Today.ToString(dr("Mark")) Then 
                dr("MaxValue") = 1
                dr("MarkValue") = Date.Today.ToString(dr("Mark"))
            Else
                dr("MaxValue") = dr("MaxValue") + 1
            End If
        End If
        \'
        db.UpdateDataTable(dt, "Gh_tb")
        Return dr("qz") & dr("MarkValue") & "-" & Format(dr("MaxValue"), "0000") \'顺序号只取4位\'
        End SyncLock
    End Function
End Class

上面代码,ADO如何改为狐表内置ET?

--  作者:有点蓝
--  发布时间:2025/4/21 14:32:00
--  
自行看原来的实例:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=145239
--  作者:lin98
--  发布时间:2025/4/21 16:40:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=145239
实例,内表改为外部表,改下面代码,客户端执行,报错:
Dim canedit As Boolean = False
If Args.Length = 3 Then
    canedit  = Args(2)
End If
Dim cmd As new SQLCommand
\'cmd.ConnectionName = connectname
cmd.C
cmd.CommandText = sql
Return cmd.ExecuteReader(canedit)



错误所在事件:项目,Server
详细错误信息:
未将对象引用设置到对象的实例。


--  作者:有点蓝
--  发布时间:2025/4/21 17:31:00
--  
调试看哪一句代码出错
[此贴子已经被作者于2025/4/21 17:31:15编辑过]