以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  这段代码是什么问题? 又有问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=125142)

--  作者:blackzhu
--  发布时间: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
--  发布时间:2018/9/20 17:27:00
--  
找到原因了

--  作者:blackzhu
--  发布时间:2018/9/20 18:04:00
--  
 Dim PrimaryKey As String = e.GetValues("key")


在else 以后为啥清除了

--  作者:blackzhu
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间:2018/9/20 19:16:00
--  

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

 

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