Announcement

Collapse
No announcement yet.

Invalid Column Name

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Invalid Column Name

    Hallo zusammen,

    ich habe in einem Programm eine Funktion zur Speicherung, bei der es beim schreiben in die Db zu einem Fehler kommt. Folgender Code:


    Code:
    Try
    
                Dim InfoCheckBox As Integer
    
                If chkbox_Infotext.Checked = True Then
    
                    InfoCheckBox = 1
    
                Else
    
                    InfoCheckBox = 0
    
                End If
    
                Dim SQLStr_Save_Infotext As String
    
                Dim connstring As String = My.Settings.Connectionstring
    
                Dim SQLConn As New SqlConnection()
                Dim SQLCmd As New SqlCommand()
    
                SQLStr_Save_Infotext = "Update Table_Infos Set Infotext_Aktiv = " & InfoCheckBox & ", Infotext = " & rtxt_Infotext.Text & ""
    
                SQLConn.ConnectionString = connstring
                SQLConn.Open()
    
                SQLCmd.Connection = SQLConn
    
                SQLCmd.CommandText = SQLStr_Save_Infotext
    
                SQLCmd.ExecuteNonQuery()
    
                SQLConn.Close()
    
            Catch ex As Exception
    
                MsgBox("Fehler:" & vbCrLf & ex.Message)
    
            End Try
    Betätige ich nun den Speichern Button bekomme ich die Fehlermeldung Invalid Column Name 'Test' wobei Test der Wert aus rtxt_Infotext.Text ist.

    An anderer Stelle im Code verwende ich den selben updatestring mit anderen Variablen, habe hier aber keine Probleme.

    Hat vielleicht jemand eine Idee?

  • #2
    Du mußt die, aus der Textbox geholten, Werte schon in quotationmarks ' ' packen. Sonst kann mann Felder von Werten nicht unterscheiden. Bei InfoCheckBox wird das auch ohne funktionieren da Zahlen eindeutig Werte sind und auf keinen Fall Spaltenbezeichnungen. Sobald mit Text verglichen wird aber zwingend notwendig.

    Die ' ' sind auch nur in den meisten Datenbanken dafür verwendet je nach Datenbank können das auch andere Zeichen sein wie zum Beispiel "" oder ##. Mußt du in der Doku zur Datenbank nachlesen.


    Nebenbei. Jeden Fehler fangen und anzeigen ist kein Exceptionhandling!

    Comment


    • #3
      Danke für die flinke Antwort, mit den entsprechenden ' ' funktionierts dann auch.

      Comment

      Working...
      X