Foxtable(狐表)用户栏目专家坐堂 → 一条短信能录入多条订单吗?


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

主题:一条短信能录入多条订单吗?

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


加好友 发短信
等级:四尾狐 帖子:781 积分:9870 威望:0 精华:0 注册:2008/9/1 13:47:00
  发帖心情 Post By:2014/7/5 11:20:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:四尾狐 帖子:781 积分:9870 威望:0 精华:0 注册:2008/9/1 13:47:00
  发帖心情 Post By:2014/7/6 15:53:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/6 15:56:00 [只看该作者]

以下是引用liuruihua在2014-7-6 15:53:00的发言:
帖子沉得真快,自己顶一下,等明天版主上班帮解决。

 

那就不要用@作为分隔符。你可以用#等字符分隔,

 

NewMessage事件里split一下,就能得到各条的数据了。


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


加好友 发短信
等级:四尾狐 帖子:781 积分:9870 威望:0 精华:0 注册:2008/9/1 13:47:00
  发帖心情 Post By:2014/7/6 16:31:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/6 16:35:00 [只看该作者]

以下是引用liuruihua在2014-7-6 16:31:00的发言:
用#其它字符能显示,但订单表中一条记录都没有增加。

 

你得编写代码去增加。

 

For Each str As String In e.Content.split("#")
    Dim nr As Row = Tables("表A").AddNew
    nr("第一列") = str
Next


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


加好友 发短信
等级:四尾狐 帖子:781 积分:9870 威望:0 精华:0 注册:2008/9/1 13:47:00
  发帖心情 Post By:2014/7/6 16:50:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/6 16:59:00 [只看该作者]

 请不要盲目套用代码好不?你要根据自己的数据格式去编写代码啊。
[此贴子已经被作者于2014-7-6 16:59:37编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/6 17:04:00 [只看该作者]

 比如,你的短信是这种形式,就这样编写代码

 

###kx001*ss01*5*15|kx001*ss32*10*50

 

 

If e.Content.StartsWith("###") Then
    For Each cons As String In e.Content.SubString(3).Split("|")
        Dim vals() As String = cons.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


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


加好友 发短信
等级:四尾狐 帖子:781 积分:9870 威望:0 精华:0 注册:2008/9/1 13:47:00
  发帖心情 Post By:2014/7/6 17:36:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/6 17:38:00 [只看该作者]

以下是引用liuruihua在2014-7-6 17:36:00的发言:
感谢版主的回复,我想不是因为格式问题,就完全按照帮助中的例子,也不知什么原因不能在订单表中新增多条记录。两条订单之间的分割符号,如果是@,系统最起码能识别最前面的一条订单,能在订单表中增加一条记录,但就是不能增加后面的订单。如果用其它字符分割,则一条订单记录都不会增加。(代码都一样的),不会是系统版本问题吧?

 

你用其它分隔符,对应的代码也要改啊。请看18楼解释和代码。


 回到顶部
总数 22 上一页 1 2 3 下一页