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列是空,单新增时间有值,请问我这个写法哪里不周全?
改为
Dim dropen As DataRow = DataTables("登录用户").AddNew()
如果是空的,说下面函数没有返回openid值
openid = Functions.Execute("getopenid", e)