VB.NET 有关问题,紧急求教,多谢
VB.NET 问题,紧急求教,谢谢
不好意思刚漏掉了一个参数,现在加上了,还是报这个错误,请问这是什么问题呢?
代码:
Public Function RecordOperLog(ByVal oper_type As String, ByVal oper_desc As String, ByVal oper_result As String) As Boolean
LoginUrl = strInsertSql & "insert into t_agent_oper_log(oper_time,oper_type,workid,oper_desc,oper_result) values(sysdate,'" & oper_type & "','" & strAgentID & "','" & oper_desc & "','" & oper_result & "')"
WriteLog("LoginUrl=" & LoginUrl)
Try
strUrlDecode = Common.comm(LoginUrl)
Catch
MessageBox.Show("error")
End Try
If strUrlDecode.Length > 0 Then
Return True
Else
Return False
End If
End Function
刚用try捕捉了下,结果在 strUrlDecode = Common.comm(LoginUrl)有问题,我把日志里面抓取出来的链接放到IE里面运行了下,结果网页报错,还请大家帮忙看下:

下面是日志里面抓取的链接:
http://172.17.65.14:8088/DMLI/DMLIAction/DMLI!Insert.action?sql=insert into t_agent_oper_log(oper_time,oper_type,workid,oper_desc,oper_result) values(sysdate,'0','登录成功','0')
下面是调用的common方法,返回解析XML后的结果:
Module Common
Public Function comm(ByVal LoginUrl As String) As String()
Dim webClient As WebClient = New WebClient
webClient.Encoding = System.Text.Encoding.UTF8
Dim urlString As String
urlString = webClient.DownloadString(LoginUrl)
'返回解析后的数据
comm = AnalysisXML.ResolParam(urlString)
End Function
End Module
调用AnalysisXML.ResolParam方法解析XML:
Module AnalysisXML
Dim arrList() As String
Public Function ResolParam(ByRef URL As String) As String()
Erase arrList '每次调用初始化数组
Dim xdt As XmlDocument = New XmlDocument
Dim i As Integer
Dim eleName As String
xdt.LoadXml(URL)
Dim reader As XmlNodeReader
eleName = ""
Try
reader = New XmlNodeReader(xdt)
'WriteLog("xdt:" & xdt)
While (reader.Read())
'排除无效行
If reader.Name <> "" And reader.Value <> "" Then
Continue While
End If
If reader.Name <> "" Then
eleName = reader.Name
End If
If eleName <> "" And reader.Value <> "" Then
ReDim Preserve arrList(i)
arrList(i) = eleName & "==" & reader.Value
i = i + 1
End If
End While
Catch
Erase arrList '若发生异常,则清空arrList数组
End Try
ResolParam = arrList
End Function
End Module
还请大家看下问题出在什么地方,谢谢
------解决思路----------------------
好像就是服务器出错了。
你图里的链接的参数和value还是不匹配啊,value只有4个。
不好意思刚漏掉了一个参数,现在加上了,还是报这个错误,请问这是什么问题呢?
代码:
Public Function RecordOperLog(ByVal oper_type As String, ByVal oper_desc As String, ByVal oper_result As String) As Boolean
LoginUrl = strInsertSql & "insert into t_agent_oper_log(oper_time,oper_type,workid,oper_desc,oper_result) values(sysdate,'" & oper_type & "','" & strAgentID & "','" & oper_desc & "','" & oper_result & "')"
WriteLog("LoginUrl=" & LoginUrl)
Try
strUrlDecode = Common.comm(LoginUrl)
Catch
MessageBox.Show("error")
End Try
If strUrlDecode.Length > 0 Then
Return True
Else
Return False
End If
End Function
刚用try捕捉了下,结果在 strUrlDecode = Common.comm(LoginUrl)有问题,我把日志里面抓取出来的链接放到IE里面运行了下,结果网页报错,还请大家帮忙看下:
下面是日志里面抓取的链接:
http://172.17.65.14:8088/DMLI/DMLIAction/DMLI!Insert.action?sql=insert into t_agent_oper_log(oper_time,oper_type,workid,oper_desc,oper_result) values(sysdate,'0','登录成功','0')
下面是调用的common方法,返回解析XML后的结果:
Module Common
Public Function comm(ByVal LoginUrl As String) As String()
Dim webClient As WebClient = New WebClient
webClient.Encoding = System.Text.Encoding.UTF8
Dim urlString As String
urlString = webClient.DownloadString(LoginUrl)
'返回解析后的数据
comm = AnalysisXML.ResolParam(urlString)
End Function
End Module
调用AnalysisXML.ResolParam方法解析XML:
Module AnalysisXML
Dim arrList() As String
Public Function ResolParam(ByRef URL As String) As String()
Erase arrList '每次调用初始化数组
Dim xdt As XmlDocument = New XmlDocument
Dim i As Integer
Dim eleName As String
xdt.LoadXml(URL)
Dim reader As XmlNodeReader
eleName = ""
Try
reader = New XmlNodeReader(xdt)
'WriteLog("xdt:" & xdt)
While (reader.Read())
'排除无效行
If reader.Name <> "" And reader.Value <> "" Then
Continue While
End If
If reader.Name <> "" Then
eleName = reader.Name
End If
If eleName <> "" And reader.Value <> "" Then
ReDim Preserve arrList(i)
arrList(i) = eleName & "==" & reader.Value
i = i + 1
End If
End While
Catch
Erase arrList '若发生异常,则清空arrList数组
End Try
ResolParam = arrList
End Function
End Module
还请大家看下问题出在什么地方,谢谢
------解决思路----------------------
好像就是服务器出错了。
你图里的链接的参数和value还是不匹配啊,value只有4个。