Punkt oder Minus in SQL Statement maskieren

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von kinobi.

    Punkt oder Minus in SQL Statement maskieren

    Hallo,

    ich habe folgende Herausforderung. Ich lese eine Excel-Datei über eine OLEDB-Verbindung ein.
    Dazu habe ich einen Select-Befehl. Jetzt ist es jedoch so, dass die Spaltennamen einen Punkt und/oder Minus enthalten.
    Das heißt, dass eine Spalte z.B. "Konto-Nr." heißt.
    Diese Spalte kann ich nun über Select Konto-Nr. nicht ansprechen, da er das - bzw. den . als Operater erkennt. Kann ich das irgendwie maskieren, so dass ich die Spalte dennoch einlesen kann? SpaltenNamen ändern wäre natürlich eine Option, jedoch kommen die Tabellen nicht von mir und jede ständig zu änderen ist zu aufwendig.

    Gruß
    Dirk
    Deswegen sollte man die Spaltennamen in `` setzten

    SQL-Abfrage

    1. SELECT `Konto-Nr.` FROM `tabelle`


    Aber genrell solltest dir angewöhnen KEINE Sonderzeichen in Spaltennamen zu benutzen, außer vlt. Unterstrich, weils kein mathematischer Operator ist.
    Da irrst Du Dich wohl.

    VB.NET-Quellcode

    1. Dim sConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    2. "Data Source=" & sfile & ";" & _
    3. "Extended Properties=Excel 8.0;"
    4. oConn = New System.Data.OleDb.OleDbConnection(sConn)
    5. oAdapter = New System.Data.OleDb.OleDbDataAdapter( _
    6. "SELECT DATUM, Antragsnummer, Kundenname, Kooperation, Nettokredit, [HDL-RSV], [HDL-Zusch#], Auszahlung FROM [" & sTable & "$A6:J206]", oConn)
    7. oDs = New System.Data.DataSet
    8. oAdapter.Fill(oDs)


    Wenn ich es so mache muss der '.' zwingend eine '#' sein.