以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 计划管理 交叉执行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=157509) |
-- 作者:zcgmxf -- 发布时间:2020/10/19 9:45:00 -- [求助] 计划管理 交叉执行 老师,我的计划管理有两个计划,一个是下企业微信打卡数据,一个是下载审批数据,连接到单位数据库没问题,连接到阿里云服务器上数据库后 下载打卡数据时通过msgbox 显示是审批数据,是不是我的注册码有问题?谢谢! Dim st As New Date(1970,1,1,8,0,0) Dim t1 As Integer = CInt((Date.Today.AddDays(-7) - st).TotalSeconds()) \'时间戳开始时间 Dim t2 As Integer = CInt((Date.Now - st).TotalSeconds()) \'时间戳结束时间 Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token={0}" Dim hc As New HttpClient(CExp(ur,Functions.Execute("打卡GetQYAccessToken"),1)) Dim jo As New JObject jo("opencheckindatatype") = 3 \' 是 打卡类型.1:上下班打卡;2:外出打卡;3:全部打卡 jo("starttime") = t1 jo("endtime") = t2 Dim ja As New Jarray \'定义数组 Dim dds As List(of DataRow) = DataTables("Users").Select("userid is not null") For Each dd As DataRow In dds ja.Add(CStr(dd("userid"))) Next jo("useridlist") =ja hc.Content = jo.Tostring() jo = JObject.Parse(hc.GetData) If jo("checkindata") IsNot Nothing Then ja = jo("checkindata") msgbox(jo("checkindata")) For i As Integer = 0 To ja.Count - 1 |
-- 作者:有点酸 -- 发布时间:2020/10/19 10:37:00 -- 你的执行条件是: If jo("checkindata") IsNot Nothing Then 既然既然执行了,说明jo的checkindata有数据 jo的数据来自: jo = JObject.Parse(hc.GetData) hc提交的内容来自: hc.Content = jo.Tostring() jo的数据来自: jo("useridlist") =ja ja的数据来自数据表: Dim ja As New Jarray \'定义数组 Dim dds As List(of DataRow) = DataTables("Users").Select("userid is not null") For Each dd As DataRow In dds ja.Add(CStr(dd("userid"))) Next 说明你的结果和数据标的内容有关系,阿里云的数据和你公司的数据不一样而已,所以一点不奇怪啊。 自己设计的东西,其中的逻辑关系自己最清楚啊。 比较一下两次合成的ja有啥不同: Messagebox.show(ja.Tostring) [此贴子已经被作者于2020/10/19 10:38:03编辑过]
|
-- 作者:zcgmxf -- 发布时间:2020/10/19 10:55:00 -- 老师,是有数据,但是显示是审批的数据,我只是两个数据库的位置不同而已啊,一个在本地,一个是阿里云的云服务器,都是在我的同一台电脑上运行的,获取数据的条件和环境是一样的啊。 [此贴子已经被作者于2020/10/19 10:57:54编辑过]
|
-- 作者:有点酸 -- 发布时间:2020/10/19 11:22:00 -- 2楼回复足够清楚了。 |
-- 作者:有点蓝 -- 发布时间:2020/10/19 19:37:00 -- 这样测试,看返回什么数据 …… Dim ja As New Jarray \'定义数组 Dim dds As List(of DataRow) = DataTables("Users").Select("userid is not null") For Each dd As DataRow In dds ja.Add(CStr(dd("userid"))) Next jo("useridlist") =ja hc.Content = jo.Tostring() dim res as string = hc.GetData msgbox("checkindata = " & res) jo = JObject.Parse(res) If jo("checkindata") IsNot Nothing Then msgbox("checkindata = " & jo("checkindata")) |
-- 作者:zcgmxf -- 发布时间:2020/10/20 7:53:00 -- 谢谢蓝老师,出现了 301023 的错误码,微信后台不允许一次提交超过100人数据下载。现在可以正常下载打卡数据了。 |