以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  用户登录  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=154384)

--  作者:CRM2013
--  发布时间:2020/9/13 13:38:00
--  用户登录


登录系统时,警告:非托管代码已经在SringBulider 缓冲区溢出。进程可能变得不稳定。在进行封送处理之前,没给StringBulider分配足够的容量。

--  作者:CRM2013
--  发布时间:2020/9/13 13:43:00
--  
个别安装了win10的电脑出现这个问题,其它电脑正常。



--  作者:有点蓝
--  发布时间:2020/9/13 20:36:00
--  
应该是第三方组件的接口设置的参数不对
--  作者:CRM2013
--  发布时间:2020/9/16 13:14:00
--  
问题是想通过pcid或者硬盘ID来约束使用的电脑,报错后直接跳过了这个环节,是不是代码有问题?谢谢
--  作者:有点蓝
--  发布时间:2020/9/16 13:44:00
--  
写了什么代码?
--  作者:CRM2013
--  发布时间:2020/9/16 19:14:00
--  

用户登录_AfterLoad

 

Dim cpid As String = ComputerID

Dim hdid As String = HardDiskID

Dim nm As String = ComputerName

 

Dim cmd1 As New SQLCommand

Dim dt1 As DataTable

cmd1.C

cmd1.CommandText = "Select * Fr om {Users} Where [电脑ID] = \'" & cpid & "\'"

dt1 = cmd1.ExecuteReader

 

Dim cmd2 As New SQLCommand

Dim dt2 As DataTable

cmd2.C

cmd2.CommandText = "Select * Fr om {Users} Where [硬盘ID] = \'" & hdid & "\'"

dt2 = cmd2.ExecuteReader

 

If dt1.DataRows.Count = 0 AndAlso dt2.DataRows.Count = 0 Then

   

 Messagebox.show("PC没有备案,请联系管理员!" & Chr(13) & Chr(10) &  "用户名:【" & nm & "】" & Chr(13) & Chr(10) &  "PCID:【"  & cpid & "】" & Chr(13) & Chr(10) &  "HDID:【"  & hdid & "】","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

 

    Syscmd.Project.Exit() \'退出系统


End If


Dim cmd As New SQLCommand

Dim dt As DataTable

Dim cmb As WinForm.ComboBox = e.Form.Controls("UserName")

cmd.C

cmd.CommandText = "SELECT DISTINCT Name Fr om {Users} Where [Group] Not Like \'管理员\' "

dt = cmd.ExecuteReader()

For Each dr As DataRow In dt.Datarows

    cmb.Items.Add(dr("Name"))

Next

cmb.SelectedIndex = 0

 

LogCount  = LogCount  + 1  \'登陆一次将记录登陆次数

 



--  作者:有点蓝
--  发布时间:2020/9/17 8:43:00
--  

If dt1.DataRows.Count = 0 AndAlso dt2.DataRows.Count = 0 Then

   

 Messagebox.show("PC没有备案,请联系管理员!" & Chr(13) & Chr(10) &  "用户名:【" & nm & "】" & Chr(13) & Chr(10) &  "PCID:【"  & cpid & "】" & Chr(13) & Chr(10) &  "HDID:【"  & hdid & "】","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

 vars("退出") = true

return

End If


打开登录窗口的地方:

forms("用户登录").open

if vars("退出") then

    Syscmd.Project.Exit() \'退出系统

return

end if



--  作者:CRM2013
--  发布时间:2020/9/29 16:56:00
--  

在afteropenproject 处打开自定义的“用户登录“

forms("用户登录").open
If vars("退出") Then
    Syscmd.Project.Exit() \'退出系统
Return
End If

楼上的报错还是依然存在

--  作者:有点蓝
--  发布时间:2020/9/29 17:02:00
--  
那就不是这里的问题了。请上传实例测试