Announcement

Collapse
No announcement yet.

Fehler beim Konvertieren des nvarchar-Datentyps in numeric.

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

  • Fehler beim Konvertieren des nvarchar-Datentyps in numeric.

    Deim aktualisieren der Datensätze bekomme ich folgende Meldung:
    Fehler beim Konvertieren des nvarchar-Datentyps in numeric.
    Das passiert sicher weil ich statt money decimal (15,2) genommen habe für den Preis. Brauch aber nur 2 Stellen nach dem Komma. Weiß aber nicht warum er das so macht: Interpretiert er das falsch? Mein Visual Studio ist ne Englische Version und der Server ne Deutsche.

  • #2
    Achso. Vergessen. Die Änderung findet im GridView statt.

    Comment


    • #3
      Ich tippe jetzt mal darauf, dass der Wert als String aus dem Grid kommt. Damit steht als Dezimalzeichen ein Beistrich drinnen. Für den SQL-Server, der nur das amerikanische Format vorsieht, muss der Dezimaltrenner aber ein Punkt sein.
      Wird vielleicht auch etwas verständlicher, wenn man sich dieses Beispiel ansieht:
      insert into tabelle(float1, float2) values(1,2,3)
      gegenüber
      insert into tabelle(float1, float2) values(1.2,3)

      Und während eine Zuweisung
      declare @x decimal(8,2); select @x = '1.2'
      noch funktioniert, gibt das bei
      declare @y decimal(8,2); select @y = '1,2'
      die bei dir auftauchende Fehlermeldung.

      Hoffe, du kannst damit dein Problem lösen.

      bye,
      Helmut

      Comment


      • #4
        Sowas dachte ich mir schon. Die Problematik war mir fast klar. Weiß aber nicht wie ich das ändern kann,kann da wer weiter helfen?

        Comment


        • #5
          Nehme an, du hast das nicht selber ausprogrammiert sondern "zusammengeklickt" - kommst du an das update-Statement der Gridview? ... und wenn ja, wie sieht das aus?

          bye,
          Helmut

          Comment


          • #6
            Ja richtig erkannt. Ist Mit dem Assi erstellt worden. Bin noch Anfänger. Aber bisher bis auf diese Sachen gut voran gekommen. War auch nicht zu anspruchsvoll.
            Der Updatecommand lautet:

            UPDATE tb_Angebotsdetails SET AngebotsNr = @AngebotsNr, LieferantenNr = @LieferantenNr, Angebotseingang = @Angebotseingang, Liefertermin = @Liefertermin, Lieferzeit = @Lieferzeit, Angebotspreis = @Angebotspreis

            Der Angebotspreis ist ein Decimal (15.2). Money wollt ich nicht nehmen weil der 4 Stellen nach dem Komma anzeiget und ich nur 2 brauche.

            Comment


            • #7
              Hallo Helmut,

              kannst du mir evtl. bei meinem Problem weiterhelfen wäre dir sehr verbunden. Vielen Dank im voraus.

              Mfg Jens

              Comment


              • #8
                Habe erst vor kurzem mit dotNet begonnen, aber das Problem an sich ist mir bekannt. Ich habe unter anderem auch deswegen gleich nach meinem ersten kleinen Testprogramm beschlossen, TableAdapter usw. zu lassen und die ganzen SQL-Statements lieber mit der Hand zu programmieren. Da hat man mehr Möglichkeiten, finde ich. Darum kann ich dir da jetzt leider auch nicht mehr so recht weiterhelfen.
                Aber es hat was mit dieser "CultureInfo" zu tun, allerdings kann ich dir nicht sagen, wie und wo man das bei einem DataGrid einsetzt. Ich würde es diesbezüglich an deiner Stelle mit dieser Frage mal im .NET-Forum versuchen, da es ja dabei in erster Linie um Formatierung geht und kein rein datenbankspezifisches Problem ist.

                bye,
                Helmut

                Comment

                Working...
                X