以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 用户登录 (http://foxtable.net/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 -- 那就不是这里的问题了。请上传实例测试 |