Fehlersuche bei SQL-Abfrage .... stehe auf dem Schlauch

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von jan99.

    Fehlersuche bei SQL-Abfrage .... stehe auf dem Schlauch

    Moin!

    ich habe eine SQL-Abfrage die funktioniert:


    SQL> Select VERMP.Projektpfad PPfad From EBL_VERMPROJEKT VERMP, EBL_VERMP_NZUG NZUG Where (VERMP.FID=NZUG.FID_PARENT AND NZUG.FID=13499264)

    PPFAD
    ---------------------------------------------------------
    P:\Vermessung\EBL Vermessungsprojekte\2018-001 Mengstraße
    1 Zeilen ausgewählt.


    Nun habe ich folgenden Code:

    VB.NET-Quellcode

    1. ...
    2. Dim SQL As String = "Select VERMP.Projektpfad PPfad From EBL_VERMPROJEKT VERMP, EBL_VERMP_NZUG NZUG Where (VERMP.FID=NZUG.FID_PARENT AND NZUG.FID=" & MyFID.ToString & ")"
    3. Dim MyDataAdapter As New Autodesk.Map.IM.Data.Provider.DataAdapter(SQL, _Document.Connection)
    4. Dim Datentabelle1 As New System.Data.DataTable
    5. MyDataAdapter.Fill(Datentabelle1)
    6. Select Case Datentabelle1.Rows.Count
    7. Case 1
    8. Dim RootFolder As String = Datentabelle.Rows.Item(0).Item("PPfad")
    9. If System.IO.Directory.Exists(RootFolder) = False Then
    10. ...


    Die Ausführung läuft in Case 1 rein - ist ja auch richtig. Aber bei der Auslesung des PPfad bekomme ich folgende Fehlermeldung:


    System:
    System.IndexOutOfRangeException: An der Position 0 befindet sich keine Zeile.
    bei System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
    bei System.Data.DataRowCollection.get_Item(Int32 index)
    bei XXX.Vermessung.NivZug.XXX_VermNivZugList(Int64 MyFID, Target2Output Output) in C:\VSProjects\2015\XXX.Vermessung\XXX.Vermessung\cls_Vermessung_NivZug.vb:Zeile 516.
    bei XXX.Vermessung.VermPro.DigiNivZug2Nigra(Object sender, EventArgs e) in C:\VSProjects\2015\XXX.Vermessung\XXX.Vermessung\cls_Vermessung_Projekt.vb:Zeile 1516.


    Irgendwie kann ich nichts falsches erkennen!

    Kann mir einer von Euch weiterhelfen?

    Gruß Jan

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Moin!
    erst einmal Danke.

    MichaHo schrieb:

    jan99 schrieb:

    MyFID.ToString


    ist halt ein String, deine Abfrage erwartet aber einen Int... also entweder MYFID in Integer umwandeln oder Hochkommas drum herum bauen...


    Aber nun verstehe ich die Welt nicht mehr. MyFID ist ein Long und der SQL-Ausdruck ist eine Zeichenkette. Eigentlich hat das immer so funktioniert.

    Ich probiere es gerne aus. Dabei wird folgender SQL erzeugt:

    "Select VERMP.Projektpfad PPfad From EBL_VERMPROJEKT VERMP, EBL_VERMP_NZUG NZUG Where (VERMP.FID=NZUG.FID_PARENT AND NZUG.FID='13499264')"


    Aber die Fehlermeldung bleibt erhalten !

    ???

    Gruß Jan