以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自动增加行问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192958) |
-- 作者:ycs5801 -- 发布时间:2024/8/5 14:58:00 -- 自动增加行问题 Dim openid As String If e.Request.Headers("User-Agent").ToLower.Contains("micromessenger") Then \'如果是微信登录 If e.Cookies.ContainsKey("openid1") Then openid = e.Cookies("openid1") Else openid = Functions.Execute("getopenid", e) wb.AppendCookie("openid1", openid) \'向cookie中写入openid Dim dropenid As DataRow = DataTables("登录用户").sqlfind("openid=\'" & openid & "\'") If dropenid Is Nothing Then Dim dropen As DataRow = DataTables("登录用户").SQLAddNew() dropen("openid") = openid dropen("新增时间") = Date.now() dropen.Save() End If End If End If 。。。。 。。。。 。。。。 这段代码放在某个函数开头,实现功能是,当打开函数时,首先判断cookies中是否包含openid1,如果有直接赋值给openid变量,如果没有则生成openid,然后判断这个openid在表中是否存在,如果不存在则增加一行并写入。 现在问题是总会在表中增加了一些空行,空行中openid列是空,单新增时间有值,请问我这个写法哪里不周全?
|
-- 作者:有点蓝 -- 发布时间:2024/8/5 15:31:00 -- 改为 Dim dropen As DataRow = DataTables("登录用户").AddNew()
|
-- 作者:有点蓝 -- 发布时间:2024/8/5 15:31:00 -- 如果是异步,改为使用SQLcommand插入数据 |
-- 作者:ycs5801 -- 发布时间:2024/8/5 16:34:00 -- 有没有可能即使容纳了e.Cookies.ContainsKey("openid1"),但是e.cookies("openid1")的值是空,排除直接给e.cookies("openid1")赋空值。 |
-- 作者:有点蓝 -- 发布时间:2024/8/5 16:40:00 -- 如果是空的,说下面函数没有返回openid值 openid = Functions.Execute("getopenid", e) |