Foxtable(狐表)用户栏目专家坐堂 → XML多次循环查找并给表赋值


  共有2279人关注过本帖树形打印复制链接

主题:XML多次循环查找并给表赋值

帅哥哟,离线,有人找我吗?
huhu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1183 积分:8236 威望:0 精华:0 注册:2015/3/30 10:44:00
XML多次循环查找并给表赋值  发帖心情 Post By:2017/6/27 18:12:00 [显示全部帖子]

这是对方的XML
<?xml version="1.0" encoding="utf-8"?>
<ufinterface efdebug="0" efserverid="321" eftype="EFSQL" ddate="2016-10-08" sqlstr="s elect * from Rdrecord32 where dnmaketime &gt;  '2017-04-26' and dnmaketime &lt; '2017-04-27' " proc="Query" succeed="1" dsc="EFSQL处理成功">
  <voucher cardnumber="EFSQL" ccardname="" xmlns:z="EF">
    <head>
      <z:row xmlns:z="#RowsetSchema" AutoID="1003699447" ID="1000729735" cInvCode="CBNNN-JHJ0005A" iQuantity="10.0000000000" iFlag="0" cDefine23="2017-04-26T00:00:00" cDefine25="同博达" iDLsID="1000341212" iNQuantity="10.0000000000" strC strCode="030702CBNNN-JHJ0005A" bLPUseFree="False" iRSRowNO="0" iOriTrackID="0" bCosting="True" bVMIUsed="False" cbdlcode="KJ1704C87" corufts="" strC iExpiratDateCalcu="0" iorderdid="1000161766" iordertype="1" iordercode="0117040E4" iorderseq="1" ipesodid="1000161766" ipesotype="1" cpesocode="0117040E4" ipesoseq="1" isotype="0" irowno="1" rowufts="0000000281bd4607" />
    </head>
    <body />
  </voucher>
</ufinterface>
我有2个时间控件。想通过选择起始时间start和截止时间ed。dnmaketime &gt;  '2017-04-26' and dnmaketime &lt; '2017-04-27'。
Dim start As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim Ed As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")

然后解析XML。对应的值填写到销售出库单。sqlstr应该是查2个表rdrecord32和rdrecords32.当在rdrecord32查到id和rdrecords32的id相等。如附件图。
那么销售出库单就需要新增加1行,csocode,cInvCode,ccusinvname,iQuantity从rdrecords32获取值。
对应关系
字段名
cMaker制单人rdrecord32
cWhCode仓库编码rdrecord32
仓库
csocode销售订单号rdrecords32
cBusCode发货单号rdrecord32
dDate 出库日期rdrecord32
cCode出库单号rdrecord32
出库类别
cDefine2销售部门rdrecord32
业务员
cDefine10客户名称rdrecord32
cMemo备注rdrecord32
cInvCode存货编码rdrecords32
ccusinvname存货名称rdrecords32
主计量单位
iQuantity数量rdrecords32
cDefine12货运单号rdrecord32
cShipAddress发货地址rdrecord32

这个怎么做呢?

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:xml2017.rar


此主题相关图片如下:qq1.png
按此在新窗口浏览图片

[此贴子已经被作者于2017/6/27 18:13:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1183 积分:8236 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2017/6/28 9:20:00 [显示全部帖子]

单独解析一个XML没有问题----这个之前告诉我了。
现在是有2个问题困扰我。
1.起始start和截止ed控件的值如何传递到sqlstr里?

sqlstr="s elect * from Rdrecord32 where dnmaketime &gt;  '2017-04-26' and dnmaketime &lt; '2017-04-27'
dnmaketime &gt;  '2017-04-26' 为dnmaketime &gt; start.value
dnmaketime &lt; '2017-04-27' 为dnmaketime &lt;  ed.value。

2.在Rdrecord32表解析出ID,还要在Rdrecords32在查询一次。这个怎么做?




 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1183 积分:8236 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2017/6/28 15:36:00 [显示全部帖子]

老师,我没看懂4楼代码,哪里和时间时间控件有关系。还有XML是我提供的那个吗?
附件是我根据之前的帖子,有2个按钮,1查询,2解析。请帮忙看看怎么改。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:xml1.rar



 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1183 积分:8236 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2017/6/28 16:15:00 [显示全部帖子]

<?xml version="1.0" encoding="utf-8"?>
<ufinterface efdebug="0" efserverid="321" eftype="EFSQL" ddate="2016-10-08" sqlstr="se lect * from Rdrecord32 where dnmaketime &gt;  '2017-04-26' and dnmaketime &lt; '2017-04-27' " proc="Query" succeed="1" dsc="EFSQL处理成功">  
</ufinterface>

xml就是上面这个。dnmaketime大于起始时间小于截止时间。

把xml的内容复制到context里面。点击调用就返回了结果。


图片点击可在新窗口打开查看此主题相关图片如下:222.png
图片点击可在新窗口打开查看



 回到顶部