If e.PostValues.ContainsKey("联系电话") Then
Dim phone As String = e.PostValues("联系电话").Trim()
cmd.CommandText = "Sel ect Count(*) From 客户管理 Where 联系电话 = '" & phone & "'Or 备用号码 ='" & phone & "' Or QQ微信 ='" & phone & "'"
If cmd.ExecuteScalar > 0 Then
With wb.AddMsgPage("", "msgpage", "增加失败", "联系电话已经存在")
.Icon = "Warn" '改变图标
.AddButton("btn1", "返回").Attribute = ""
.AddButton("btn2", "返回首页", "shouye.htm")
End With
e.WriteString(wb.Build)
Return '必须返回
End If
End If
logtxt(1, e)
Try
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 = ""
.AddButton("btn2", "返回首页", "shouye.htm")
End With
e.WriteString(wb.Build)
Return '必须返回
End If
Next
logtxt("xxxxx2", e)
Dim pt As DataTable = x.AddDataTable("员工管理", "服务器", "分院='" & fy & "' And 部门='" & Group & "' And 状态='启用'")
Dim Products As List(Of String)
Products = pt.GetValues("姓名")
Dim pp As String = ""
For Each Product As String In Products
If e.PostValues.ContainsKey(Product) AndAlso e.PostValues(Product).Trim() = "on" Then '不能省略Trim
pp = pp & Product & ","
End If
Next
If pp > "" Then
pp = pp.Trim(",")
End If
logtxt("xxxxx3", e)
cmd.CommandText = "Ins ert Into 客户管理 (客户姓名, 性别, 联系电话,年龄,出生日期,咨询病种,初始病种,开发渠道,信息来源,QQ微信,备用号码,说明,咨询状态,客户类型,开发人员,登记时间,开发部门,总院,分院,GUID,客户编号,拼音码,副开发人员) Values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
cmd.Parameters.Add("@客户姓名", e.PostValues("客户姓名").Trim())
cmd.Parameters.Add("@性别", e.PostValues("性别"))
cmd.Parameters.Add("@联系电话", e.PostValues("联系电话").Trim())
cmd.Parameters.Add("@年龄", e.PostValues("年龄"))
cmd.Parameters.Add("@出生日期", e.PostValues("出生日期"))
cmd.Parameters.Add("@咨询病种", e.PostValues("咨询病种"))
cmd.Parameters.Add("@初始病种", e.PostValues("咨询病种"))
cmd.Parameters.Add("@开发渠道", e.PostValues("开发渠道"))
cmd.Parameters.Add("@信息来源", e.PostValues("信息来源"))
cmd.Parameters.Add("@QQ微信", e.PostValues("QQ微信"))
cmd.Parameters.Add("@备用号码", e.PostValues("备用号码"))
cmd.Parameters.Add("@说明", e.PostValues("说明"))
cmd.Parameters.Add("@咨询状态", "未上门")
cmd.Parameters.Add("@客户类型", "咨询客户")
cmd.Parameters.Add("@开发人员", UserName.Trim)
cmd.Parameters.Add("@登记时间", Date.Now)
cmd.Parameters.Add("@开发部门", Group.Trim)
cmd.Parameters.Add("@总院", zy.Trim)
cmd.Parameters.Add("@分院", fy.Trim)
cmd.Parameters.Add("@GUID", System.Guid.NewGuid.ToString.Replace("-", Nothing))
cmd.Parameters.Add("@客户编号", "KHY" & Format(Date.Today, "yyMMddHHmmss") & Rand.Next(1, 300)) '生成200到300之间的随机整数
cmd.Parameters.Add("@拼音码", GetPinYin(e.PostValues("客户姓名")))
cmd.Parameters.Add("@副开发人员", pp)
If cmd.ExecuteNonQuery > 0 Then
With wb.AddMsgPage("", "msgpage", "客户添加成功", "继续努力") '生成成功提示页
.AddButton("btn1", "继续增加", "kehudengji.htm")
.AddButton("btn2", "返回首页", "shouye.htm")
End With
Else
With wb.AddMsgPage("", "msgpage", "客户添加失败", "无法继续") '生成成功提示页
.Icon = "Warn"
.AddButton("btn3", "试试再次继续", "kehudengji.htm")
.AddButton("btn4", "返回首页", "shouye.htm")
End With
End If
e.WriteString(wb.Build)
logtxt(3, e)
Catch ex As Exception
logtxt(ex, e)
End Try
End If
代码如上,但是我截断测试后 发现日志 1 xxx2 xxx3 3 都执行了,但是3以后报了个错
2018-11-20 17:53:05.2688
调用的目标发生了异常。
在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
在 UserCode.DllExecute(String ClassName, String methodName, Object[] args)
在 UserCode.HttpRequest(RequestEventArgs e)
索引超出了数组界限。
在 Foxtable.DataRowCollection.get_Item(Int32 Index)
在 HisWebApp.HisWebApp.FileHeader(RequestEventArgs e)
请帮我看看,是否说明这一段代码是对?是不是其他代码出现问题了.