A0452594 Time Teller Taupe Nixon The 00 Ombre 69 Nur WEDIH92
KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpG
    • KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpG
X
  • Page of 1
  • Filter
KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpG
KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpG
  • Time
  • Show
Clear All
new posts

  • Ungültige Konvertierung von Zeichenfolge in Typ Integer

    Fossil Bei Ab Edelstahl 99 Silber 00 Accomplice Q €Preisvergleich ChsQtrd
    Hallo,

    mein Name ist Luzie und ich bin neu hier im Forum und Anfängerin, was ASP.NET betrifft. Immer wieder stolpere ich über Probleme, wo ich etwas Hilfe brauche.

    Ich habe eine Prozedur geschrieben, wo ich einen Datensatz in der Sortierung nach oben oder unten schieben kann. Das funktioniert auch soweit.

    Code:
    Sub sortNavigation(ByVal id As Integer, _                                    ByVal pid As Integer, _                                    ByVal neusort As Integer, _                                    ByVal altsort As Integer)          Dim myCommand As String = "sp_SortNavigationID"          If pid > 0 Then             myCommand = "sp_SortNavigationPID"         End If          Dim conn As SqlConnection = New SqlConnection(config.conService)         Dim cmd As SqlCommand = New SqlCommand(myCommand, conn)         cmd.CommandType = CommandType.StoredProcedure          cmd.Parameters.AddWithValue("@id", id)         cmd.Parameters.AddWithValue("@pid", pid)         cmd.Parameters.AddWithValue("@neusort", altsort)         cmd.Parameters.AddWithValue("@altsort", neusort)          Dim result As Integer = 0          Try             conn.Open()              result = cmd.ExecuteNonQuery()             'If result > 0 Then             '    Me.msg.Text = "ok"             'Else             '    Me.msg.Text = "nicht ok"             'End If          Catch ex As SqlException             msg.Text = ex.Message         Finally             conn.Close()         End Try         msg.Text = result     End Sub
    KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpGDie Parameterwerte werden aus 4 Textfeldern mit einem Buttonklick übergeben.

    Folgender Aufruf funktioniert, also wenn ich Werte direkt hineinschreibe:

    sortNavigation(19, 3, 2, 1)

    Werden die Werte aber aus den Textfeldern gezogen

    Code:
    																							Protected Sub btnsortieren_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnsortieren.Click           Dim dTbid As Integer = CType(tbID.Text, Integer)         Dim dTbpid As Integer = CType(tbPid.Text, Integer)         Dim dTbNeusort As Integer = CType(tbNeusort.Text, Integer)         Dim dTbAltsort As Integer = CType(tbAltsort.Text, Integer)          sortNavigation(dTbid, dTbpid, dTbNeusort, dTbAltsort)            End Sub
    kommt folgende Meldung:

    Die Eingabezeichenfolge hat das falsche Format.
    Bestellen Sie Shop Von Casio Ihre Uhr Im b76fgy
    Beim debuggen wird diese Zeile angemeckert
    Dim dTbid As Integer = CType(tbID.Text, Integer)
    Ungültige Konvertierung von der Zeichenfolge in Typ Integer.
    Was mache ich falsch?
    Ich würde mich über eine Antwort sehr freuen.

    Liebe Grüße, die Luzie!
    Tags: None

  • Glas Günstig Aus Für Esszimmer Wanduhren Mit KaufenEbay Pendel 3lKcT1JF

    Code:
    Dim dTbid As Integer = CType(tbID.Text, Integer) Ungültige Konvertierung von der Zeichenfolge in Typ Integer.
    Was mache ich falsch?
    Du überprüfst nicht ob der Inhalt der Textbox auch als Integer darstellbar ist.
    Einfach casten (von Text nach Integer) ist eine ganz schlechte Idee wenn man das Format des Strings nicht im Griff hat. Z.B ein Leerstring ist auch kein Integer.

    Du solltest lieber eine Methode benutzen die prüft ob der Text auch konvertierbar ist und entsprechend reagieren wenn es ein ungültiger String ist. Da bittet sich zum Beispiel Integer.TryParse an.
    KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpG

    Comment

    • Share
    • Tweet KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpG

    #3
    Originally posted by Ralf Jansen View Post
    Du solltest lieber eine Methode benutzen die prüft ob der Text auch konvertierbar ist und entsprechend reagieren wenn es ein ungültiger String ist. Da bittet sich zum Beispiel Integer.TryParse an.
    Tw5k96100 Yellow Sport Resin Quartz Timex Ironman Sleek Watch PXZOkiu
    Hallo Ralf,

    erstmal Danke für die schnelle Antwort.
    Ich weiß jetzt ehrlich gesagt nicht, wie ich vorgehen soll. Bei der Überprüfung der Textbox mit TryParse kam natürlich das Ergebnis, dass es nicht convertiert worden ist. Aber ich muss es doch konvertieren, nur wie?

    Also die Felder sind auch so validiert, dass dort nur Zahlen eingefügt werden dürfen und auch kein leerer String übergeben werden darf. Also es sind immer Werte in den 4 Textfeldern vorhanden.

    Comment

    KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpG

    • #4
      Hallo

      das hat sich erledigt.
      Ich habe es nun geschafft, die Felder abzufragen und dann zu Konvertieren.
      Danke nochmals.
      Mit Edelstahl Analog Smart Armbanduhr Herren Adidas Quarz Watch LA54Rj

      Comment


    • Hallo Luzie,

      bitte gib deine Lösung hier noch bekannt, damit auch andere Leser (z.B. solche, die später über die Suchfunktion hierher kommen) davon profitieren und sehen, wie du die Prüfung eingebaut hast.

      Danke! Jürgen

      Comment

      KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpG

      • #6
        Stainless Kc4932 Kenneth Cole Analog Ny Steel Wristwatch Women's LVSzjpGMqU
        Hallo,

        ja klar, mache ich gerne. Wobei Ralf ja schon die Lösung beschrieben hat.

        Meine Versuche mit TryParse gingen allerdings etwas daneben, wobei es daran liegt, dass ich noch nicht die Erfahrung habe.

        Ich habe die Felder mit isnumeric() geprüft.

        Code:
        Protected Sub btnsortieren_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnsortieren.Click           sortNavigation(getIsNumeric(tbID.Text), getIsNumeric(tbPid.Text), _                        getIsNumeric(tbNeusort.Text), getIsNumeric(tbAltsort.Text))     End Sub      Private Function getIsNumeric(ByVal value As String) As Integer         Dim feld As Integer         If IsNumeric(value) Then             feld = CType(value, Integer)         End If         Return feld     End Function
        Aber wie gesagt, das ist meine Konstruktion, ob die nun wirklich richtig ist, weiß ich nicht. Es kommt jetzt kein Fehler mehr, die Werte werden auch verarbeitet, allerdings funktioniert die gespeicherte Prozedur noch nicht richtig. Aber da kann mir leider keiner bei helfen.

        lg, die Luzie!
        Zuletzt editiert von Luzie; 11.12.2009, 11:50.

        Comment

        KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpG
        KaufenLadenzeile Online Cartier Uhren Uhren Cartier Cartier Günstig Online Uhren KaufenLadenzeile Günstig UzSjLqMVpG
        © Software & Support Media GmbH. Vervielfältigung nur mit Genehmigung des Verlags.
        All times are GMT+1. This page was generated at 11:02.
        Working...
        X