2014-04-25 2 views
0

목표 : 값을 전달, 즉, SQL DB의 정수이며, 텍스트 값을패스 평가 정수 속으로 기능

문제를 반환 : 나는로 .toString 넣어 것 같다 함수에 평가에서 값을 얻으려면 which는 숫자가 아닌 문자열입니다. 아래와 같이 convert.toint32를 시도해도 값이 전달되지 않습니다. 나는 .tostring으로 끝내려고했다.

확인 : 평가가 없으면 그리드에 숫자가 표시되고 변환없이 .tostring을 사용하면 번호가 문자열이 될 수 없으므로 문자열을 통과 시키며 검색을 실패합니다. !

나는 다양한 포럼 토론에보고하지 적어도 Converting value of an Eval from int to string

코드 :

에서 .aspx

<%# RiskIDToText(Convert.ToInt32(Eval("RiskID")))%> 

.aspx.vb

Public Function RiskIDToText(ByVal vRiskIDString As Integer) As Integer 

     Dim vString As String = "" 

     Dim sConnString As String = System.Web.Configuration.WebConfigurationManager.ConnectionStrings("SQL").ConnectionString 
     Dim dsNames As SqlDataSource 

     dsNames = New SqlDataSource 
     dsNames.ConnectionString = sConnString 
     Dim sSQL As String 

     sSQL = "SELECT RiskCategories,RiskCatID FROM TblRisks_Categories WHERE RiskCatID = '& vRiskIDString & '" 
     dsNames.SelectCommand = sSQL 

     For Each datarow As Data.DataRowView In dsNames.Select(DataSourceSelectArguments.Empty) 

      vString = datarow("RiskCategories").ToString 

     Next 

     Return vString 

    End Function 

답변

2

이 functoin 선언을 변경해보십시오 좋아요 :

Public Function RiskIDToText(ByVal vRiskIDString As Integer) As String 
     dim vRiskIDStr= cstr(vRiskIDString) ''use vRiskIDStr in db query. 

나머지 코드는 동일하게 유지됩니다.

+0

값은 비록 온다 나는 "문자열로"넣을 경우 내가 얻을 - 각 행의 경우에 "varchar 값 '& vRiskIDString &'을 데이터 유형 int로 변환 할 때 변환이 실패했습니다." – indofraiser

+0

정수 및 문자열을 변경 한 다음 작동합니다. 두 번째 코드 줄이 필요 없습니다. 이제는 vString이 문자열 인 것처럼 잘못된 유형이라고 말합니다 ... : -S – indofraiser

+0

어떤 줄에서 오류가 발생합니까 ??? vString = 또는 vString을 반환 하시겠습니까 ?? – Ranhot

0

에서 .aspx

내가 "정수로"넣으면
<%# RiskIDToText((Eval("RiskID")))%> 

.aspx.vb

Public Function RiskIDToText(ByVal vRiskIDString As String) As String 

    Dim vString As String = "" 

    Dim sConnString As String = System.Web.Configuration.WebConfigurationManager.ConnectionStrings("SQL").ConnectionString 
    Dim dsNames As SqlDataSource 

    dsNames = New SqlDataSource 
    dsNames.ConnectionString = sConnString 
    Dim sSQL As String 

    sSQL = "SELECT RiskCategories,RiskCatID FROM TblRisks_Categories WHERE RiskCatID = '" & vRiskIDString & "' " 
    dsNames.SelectCommand = sSQL 

    For Each datarow As Data.DataRowView In dsNames.Select(DataSourceSelectArguments.Empty) 

     vString = datarow("RiskCategories").ToString 

    Next 

    Return vString 

End Function