0

このwebmethodは、データベースからplist、firstaname、lastname、orgidを取得し、2つの異なるテーブルに2行を挿入します。1番目のSQLは問題ありません-2番目は実行されません

<WebMethod()> _
Public Function Register(ByVal meetingid As String, ByVal myid As String, ByVal PartType As Integer, ByVal startDate As String) As String
    Dim connection As New SqlConnection(ConfigurationManager.ConnectionStrings("EPBconnection").ConnectionString)
    Dim sSQL As String
    Dim plistid As String = ""
    Dim LastName As String = ""
    Dim FirstName As String = ""
    Dim orgID As String = ""

    'get plistID
    sSQL = "select pl.PLIST_ID"
    sSQL = sSQL + " From PERSON_LIST pl"
    sSQL = sSQL + " Where MTG_ID = '" + meetingid + "'"
    Dim myCommand As New SqlCommand(sSQL, connection)
    connection.Open()
    Dim myReader As SqlDataReader = myCommand.ExecuteReader
    While myReader.Read()
        plistid = myReader("PLIST_ID").ToString()
    End While
    connection.Close()

    'get firstname, lastname, orgid
    sSQL = "SELECT p.LASTNAME, p.FIRSTNAME, p.ORGA_ID FROM PERSON p WHERE PERSON_ID = '" + myid + "'"
    myCommand = New SqlCommand(sSQL, connection)
    connection.Open()
    myReader = myCommand.ExecuteReader
    While myReader.Read()
        LastName = myReader("LASTNAME").ToString()
        FirstName = myReader("FIRSTNAME").ToString()
        orgID = myReader("ORGA_ID").ToString()
    End While
    connection.Close()

    Return "You are registered for this meeting"

End Function

以下を削除すると文字列が返されますが、それ以外の場合は返されません(どちらの方法でもエラーなしでコンパイルされます)。

While myReader.Read()
    LastName = myReader("LASTNAME").ToString()
    FirstName = myReader("FIRSTNAME").ToString()
    orgID = myReader("ORGA_ID").ToString()
End While

問題はmyReader.Read()から来ているようです??? 理由がわかりません

4

2 に答える 2

3
 orgID = myReader("ORGA_ID").ToString() 

orgId を整数として定義しました。

  Dim orgID As Integer
于 2013-03-04T17:23:43.620 に答える
0

申し訳ありませんが、問題は一晩で自然に解決されました。何が問題だったのかはまだわかりません。笑

于 2013-03-06T15:27:53.973 に答える