0

関数に渡されるパラメーターに基づいて、データベースから単一のエントリを読み取ろうとしています。接続文字列は他の場所で使用しているため機能しており、SQL ステートメントは SQL Server で問題なく実行できるため機能します。私が抱えている問題は、「return」ステートメントにあります。どこに置いても、どこに宣言しても、データベーステーブルを読み取るWhileループをどこに置いても、「サイトIDを返す」に緑色の波線が表示され、「値が割り当てられる前に変数「サイトID」が使用されています」と表示されます

Public Function GetSiteID(ByVal siteName As String) As String

    Dim strConnectionString2 As String = ConfigurationManager.ConnectionStrings("AVDataConnectionString").ConnectionString


    Dim strQueryString2 As String = "SELECT SourceSite.SourceSiteID FROM[AVData].[dbo].[SourceSite] JOIN [AVData].[dbo].[SourceSiteMetaTag] ON SourceSite.SourceSiteID=[SourceSiteMetaTag].[SourceSiteID] WHERE SourceSiteMetaTag.TagName='SiteType' AND SourceSiteMetaTag.TagValue='Network'order by [Description] asc AND SiteName = '" & siteName & "'"

    Dim connection2 As New SqlConnection(strConnectionString2)
    Dim command2 As New SqlCommand(strQueryString2, connection2)

    Dim siteID As String
    Try
        connection2.Open()
        Dim myReader As SqlDataReader = command2.ExecuteReader()
        While myReader.Read()
            siteID = myReader("SourceSiteID").ToString()
        End While
    Catch ex As Exception
        Throw ex
    Finally
        connection2.Close()
    End Try

    Return siteID

End Function
4

3 に答える 3