Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Text
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Configuration
Imports CRM.LogConfigXML.UserSysLogXmlPublic Class Login........
.........
Dim ULXML As LogConfigXML.UserSysLogXml = New LogConfigXML.UserSysLogXml("../XML/LogConfigXML.XML")
Dim ds As DataSet = ExecuteSQL(sql)
' Try 出错 ---> If ds.Tables(0).Rows.Count > 0 Then
end if
Private Function Get_ContextByID(ByVal strSQL As String, ByVal fieldStr As String) As String
Dim errmsg As String
Dim ds As DataSet = ExecuteSQL(strSQL) ---->这里却没有问题
Try
If ds.Tables(0).Rows.Count > 0 Then
Get_ContextByID = ds.Tables(0).Rows(0)(fieldStr).ToString()
Else
Get_ContextByID = ""
End If
Catch ex As Exception
Response.Write(ex.Message)
Finally
ds = Nothing
End Try
ds = Nothing
End Function
end class 为什么呀??
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Text
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Configuration
Imports CRM.LogConfigXML.UserSysLogXmlPublic Class Login........
.........
Dim ULXML As LogConfigXML.UserSysLogXml = New LogConfigXML.UserSysLogXml("../XML/LogConfigXML.XML")
Dim ds As DataSet = ExecuteSQL(sql)
' Try 出错 ---> If ds.Tables(0).Rows.Count > 0 Then
end if
Private Function Get_ContextByID(ByVal strSQL As String, ByVal fieldStr As String) As String
Dim errmsg As String
Dim ds As DataSet = ExecuteSQL(strSQL) ---->这里却没有问题
Try
If ds.Tables(0).Rows.Count > 0 Then
Get_ContextByID = ds.Tables(0).Rows(0)(fieldStr).ToString()
Else
Get_ContextByID = ""
End If
Catch ex As Exception
Response.Write(ex.Message)
Finally
ds = Nothing
End Try
ds = Nothing
End Function
end class 为什么呀??
---------------------------------〉
这儿你的sql是什么样的??
& " USER_TAB.*, " _
& " TEAM_TAB.TEAM_CODE,TEAM_TAB.TEAM_ID," _
& " DEPARTMENT_TAB.DEPARTMENT_CODE,DEPARTMENT_TAB.DEPARTMENT_ID, " _
& " OFFICE_TAB.OFFICE_CODE,OFFICE_TAB.OFFICE_ID, " _
& " COUNTRY_TAB.COUNTRY_CODE,COUNTRY_TAB.COUNTRY_ID, " _
& " POSITION_TAB.POSITION_CODE,POSITION_TAB.POSITION_ID, " _
& " USERGROUP_TAB.UGROUP_USERID,USERGROUP_TAB.UGROUP_GROUPID," _
& " GROUP_TAB.GROUP_ID,GROUP_TAB.GROUP_CODE FROM " _
& "(( " _
& " ( " _
& " ( " _
& " ( " _
& " ( " _
& " (USER_TAB Left join TEAM_TAB on USER_TAB.USER_TEAMID=TEAM_TAB.TEAM_ID)" _
& " Left join DEPARTMENT_TAB on USER_TAB.USER_DEPARTMENTID=DEPARTMENT_TAB.DEPARTMENT_ID ) " _
& " Left join OFFICE_TAB on USER_TAB.USER_OFFICEID=OFFICE_TAB.OFFICE_ID ) " _
& " Left Join COUNTRY_TAB on USER_TAB.USER_COUNTRYID=COUNTRY_TAB.COUNTRY_ID) " _
& " Left join POSITION_TAB on USER_TAB.USER_POSITIONID=POSITION_TAB.POSITION_ID ) " _
& " left join USERGROUP_TAB on USER_TAB.USER_ID=USERGROUP_TAB.UGROUP_USERID ) " _
& " left join GROUP_TAB on USERGROUP_TAB.UGROUP_GROUPID=GROUP_TAB.GROUP_ID ) " _
& " WHERE " _
& " USER_TAB.USER_MAERSKID='" & MaerskIDparam & "' and USER_TAB.USER_PASSWORD='" & PWDparam & "' "我没有试过是不是空的,到没有想到是不是这种原因,我先在分析器里面运行一下
但是如果是空的也不会出错吧,因为 If ds.Tables(0).Rows.Count > 0 Then 就是用来判断是否为空呀,郁闷中.....
在查询分析器中运行有结果呀,
但vb.net里应该没有executesql这个方法,你的是哪儿来的?
如果是少了new 来实例化对象的话,
Dim ds As DataSet = ExecuteSQL(sql) 《---------这里就会报错,不会在下面出现错误
而且这里应该不需要new吧
Dim errMsg As String
Dim cnn As SqlClient.SqlConnection
Dim cmd As New SqlClient.SqlCommand
Dim adpt As SqlClient.SqlDataAdapter
Dim rst As New DataSet
Dim SplitSQL() As String errMsg = ""
Try
SplitSQL = Split(strSQL)
cnn = New SqlClient.SqlConnection(ConfigurationSettings.AppSettings("CRMStrconn")) If InStr("INSERT,DELETE,UPDATE", UCase$(SplitSQL(0))) Then
cmd.Connection = cnn
cmd.Connection.Open()
cmd.CommandText = strSQL
cmd.ExecuteNonQuery()
Else
adpt = New SqlClient.SqlDataAdapter(strSQL, cnn)
adpt.Fill(rst)
ExecuteSQL = rst
End If
Catch ex As Exception
errMsg = ex.Message
Response.Write("<script language='javascript'>alert('" & errMsg & "');</script>")
Finally
rst = Nothing
cnn = Nothing
End Try
End Function如果是ExecuteSQL()方法出错就会在这里面被捕获到,且我的SQL的查询分析器中已测试,有记录