Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:自动增加行问题

1楼
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列是空,单新增时间有值,请问我这个写法哪里不周全?
2楼
有点蓝 发表于:2024/8/5 15:31:00
改为

Dim dropen As DataRow = DataTables("登录用户").AddNew()
3楼
有点蓝 发表于:2024/8/5 15:31:00
如果是异步,改为使用SQLcommand插入数据
4楼
ycs5801 发表于:2024/8/5 16:34:00
 有没有可能即使容纳了e.Cookies.ContainsKey("openid1"),但是e.cookies("openid1")的值是空,排除直接给e.cookies("openid1")赋空值。
5楼
有点蓝 发表于:2024/8/5 16:40:00
如果是空的,说下面函数没有返回openid值

openid = Functions.Execute("getopenid", e) 
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 2 queries.