以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 一条短信能录入多条订单吗? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53287) |
|
-- 作者:Bin -- 发布时间:2014/7/4 10:48:00 -- 再增加一个分隔符 | 没条信息用 | 分割 If e.Content.StartsWith("@@") Then \'如果信息是以约定的@@开始 for each cons as string in e.Content.Split("|") Dim vals() As String = cons.Trim("@").Split("@") Dim ret As String If vals.Length = 4 Then \'如果数组长度等于4 If vals(0) > "" AndAlso vals(1) > "" Then \'且提交了客户名称和产品名称 Dim Quantity As Integer Dim Price As Double If Integer.TryParse(Vals(2), Quantity) \'如果数量格式正确 If Double.TryParse(Vals(3), Price) Then \'如果单价格式正确 Dim dr As DataRow = DataTables("订单").AddNew() dr("客户") = vals(0) dr("产品") = vals(1) dr("数量") = vals(2) dr("单价") = vals(3) ret = "提交成功:" & e.Content End If End If End If End If If ret = "" Then ret = "格式错误:" & e.Content End If FoxSms.DelMsgForIndex(e.Index) \'从SIM卡删除此短信 FoxSMS.SendMsg(e.FromNumber,ret) \'回复短信,告诉业务员,此订单是否提交成功 next
End If |
|
-- 作者:Bin -- 发布时间:2014/7/5 9:28:00 -- 不明白你的意思,字符不会自己改变的 |
|
-- 作者:Bin -- 发布时间:2014/7/5 9:41:00 -- 这样的话你就按照@和*号分割好了 |
|
-- 作者:Bin -- 发布时间:2014/7/5 9:56:00 -- 请上例子,并且把你信息收到的字符串发出来,我来给你写分隔代码 |
|
-- 作者:Bin -- 发布时间:2014/7/5 11:08:00 --
|
|
-- 作者:有点甜 -- 发布时间:2014/7/6 15:56:00 -- 以下是引用liuruihua在2014-7-6 15:53:00的发言:
帖子沉得真快,自己顶一下,等明天版主上班帮解决。
那就不要用@作为分隔符。你可以用#等字符分隔,
在NewMessage事件里split一下,就能得到各条的数据了。 |
|
-- 作者:有点甜 -- 发布时间:2014/7/6 16:35:00 -- 以下是引用liuruihua在2014-7-6 16:31:00的发言:
用#其它字符能显示,但订单表中一条记录都没有增加。
你得编写代码去增加。
For Each str As String In e.Content.split("#") |
|
-- 作者:有点甜 -- 发布时间:2014/7/6 16:59:00 -- 请不要盲目套用代码好不?你要根据自己的数据格式去编写代码啊。 [此贴子已经被作者于2014-7-6 16:59:37编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2014/7/6 17:04:00 -- 比如,你的短信是这种形式,就这样编写代码
###kx001*ss01*5*15|kx001*ss32*10*50
If e.Content.StartsWith("###") Then |
|
-- 作者:有点甜 -- 发布时间:2014/7/6 17:38:00 -- 以下是引用liuruihua在2014-7-6 17:36:00的发言:
感谢版主的回复,我想不是因为格式问题,就完全按照帮助中的例子,也不知什么原因不能在订单表中新增多条记录。两条订单之间的分割符号,如果是@,系统最起码能识别最前面的一条订单,能在订单表中增加一条记录,但就是不能增加后面的订单。如果用其它字符分割,则一条订单记录都不会增加。(代码都一样的),不会是系统版本问题吧?
你用其它分隔符,对应的代码也要改啊。请看18楼解释和代码。 |