Foxtable(狐表)用户栏目专家坐堂 → 这段代码是什么问题? 又有问题


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

主题:这段代码是什么问题? 又有问题

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9868 积分:57527 威望:0 精华:15 注册:2008/9/1 9:45:00
这段代码是什么问题? 又有问题  发帖心情 Post By:2018/9/20 16:58:00 [只看该作者]

  Dim PrimaryKey As String = e.GetValues("key")
    If e.PostValues.Count = 0 Then '生成编辑页面
        cmd.CommandText = "SEL         ECT b.计划回访  日期 AS 回访日期,a.客户姓名 as 客户姓名,a.联系电话 as 联系电话,b.回访计划 as 回访计划,b.客户GUID as 客户GUID,b.GUID as GUID FROM 客户回访 as b INNER JOIN 客户管理 as a ON b.客户GUID = a.GUID Where b.GUID ='" & PrimaryKey & "'"
        dt = cmd.ExecuteReader()
        wb.AddForm("","form1","edit.htm")
        With wb.AddInputGroup("form1","ipg1","回访记录")
            With .AddInput("回访日期","回访日期","date")
                .Value = dt.DataRows(0)("回访日期")
                .Readonly= True
            End With
            With .AddInput("联系电话","联系电话","text")
                .Value = dt.DataRows(0)("客户姓名")
                .Readonly= True
            End With
            With  .AddInput("客户姓名","客户姓名","text")
                .Value = dt.DataRows(0)("联系电话")
                .Readonly= True
            End With
        End With
        With wb.AddInputGroup("form1","ipg2","回访计划")
            With .AddTextArea("回访计划",5)
                .Value = dt.DataRows(0)("回访计划")
                .Readonly= True
            End With
        End With
        With wb.AddInputGroup("form1","ipg3","回访结果")
            With .AddTextArea("回访结果",5)
                .Placeholder = "请输入200字以内的备注"
            End With
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "回访结束", "submit")
        End With
        e.WriteString(wb.Build)
    Else '保存编辑结果
MessageBox.Show(1)
        Dim nms() As String = {"回访结果"} '不能为空的列名数组
        For Each nm As String In nms
            If e.PostValues.ContainsKey(nm) = False Then '生成错误提示页
                With wb.AddMsgPage("","msgpage","回访失败", nm & "列不能为空!")
                    .icon = "Warn" '改变图标
                    .AddButton("btn1","返回").Attribute = ""
                End With
                e.WriteString(wb.Build)
                Return '必须返回
            End If
        Next
        cmd.CommandText = "UPD    ATE 客户回访 SET 状态 = ?,实际回访  时间= ?,回访人= ?,locked = ?,回访结果 = ? WHERE GUID =  ?"
        cmd.Parameters.Add("@状态","已回访")
        cmd.Parameters.Add("@实际回访时间",Date.Now)
        cmd.Parameters.Add("@回访人",Username)
        cmd.Parameters.Add("@locked",True)
        cmd.Parameters.Add("@回访结果",e.PostValues("回访结果"))
        cmd.Parameters.Add("@GUID",PrimaryKey)
        If cmd.ExecuteNonQuery > 0 Then
            With wb.AddMsgPage("","msgpage","回访成功", "") '生成成功提示页
                .AddButton("btn1","继续回访","HF0001.htm")
                .AddButton("btn2","返回首页","shouye.htm")
            End With
        Else
            With wb.AddMsgPage("","msgpage","回访失败", "") '生成成功提示页
                .AddButton("btn3","试试再次回访","HF0001.htm")
                .AddButton("btn4","返回首页","shouye.htm")
            End With
        End If
    End If
    e.WriteString(wb.Build) '生成网页
打开可以获取到该客户的信息,但是我输入回访结果后  也就是 else 没有任何反应
[此贴子已经被作者于2018/9/20 18:03:37编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9868 积分:57527 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2018/9/20 17:27:00 [只看该作者]

找到原因了

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9868 积分:57527 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2018/9/20 18:04:00 [只看该作者]

 Dim PrimaryKey As String = e.GetValues("key")


在else 以后为啥清除了

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9868 积分:57527 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2018/9/20 18:23:00 [只看该作者]

Dim str As String = e.Values("回访结果")
        cmd.CommandText = "UPD    ATE 客户回访 SET 状态 = ?,回访人=?,实际回访时间=?,locked=?,回访结果=? WHERE GUID = ?"
        cmd.Parameters.Add("@状态","已回访")
        cmd.Parameters.Add("@回访人",UserName)
        cmd.Parameters.Add("@实际回访时间",Date.Now)
        cmd.Parameters.Add("@locked", True)
        cmd.Parameters.Add("@回访结果",str)
        cmd.Parameters.Add("@GUID", e.Cookies("key"))
MessageBox.Show(cmd.CommandText)
        Dim Count As Integer = cmd.ExecuteNonQuery()


这个代码有什么问题   MessageBox.Show(cmd.CommandText)  我获取了这个字符串里面的写入参数居然是为空 包括 where GUID 也是为空
[此贴子已经被作者于2018/9/20 18:24:29编辑过]

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


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

1、哪些变量为空?msgbox弹出看看值是什么。

 

2、你变量的值如何获取的?从页面的哪里返回的?


 回到顶部