Announcement

Collapse
No announcement yet.

Überflüssige Leerzeichen in streng typisierten DataSets

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

  • Überflüssige Leerzeichen in streng typisierten DataSets

    Hallo,

    ich verwende streng typisierte Datasets welche im VS 2008 aus SQL-Abfraqen (MS SQL 2005) erzeugt habe. Allerdings habe ich das Problem, dass ich bei Strings, d.h. Datenbankfeldern vom Typ VARCHAR(256) unabhängig der tatsächlichen Länge immer Einträge von 256 Zeichen Länge erhalte, die mittels Leerzeichen auf 256 Zeichen aufgefüllt sind. Gibt es eine Möglichkeit das zu unterbinden?

  • #2
    Das macht ADO.Net eigentlich nicht von selbst. Bist du dir sicher das die nicht bereits aus der Datenbank kommen(auch wenn es varchars sind)?

    Comment


    • #3
      Danke für den Hinweis. Ich war etwas voreilig was den Datentyp angeht. In der Datenbank habe ich die Spalten doch als CHAR und nicht VARCHAR angelegt, weil ich einmal bei MySQL gelesen hatte, dass es sinnvoller ist CHAR zu nehmen, da in diesem Fall immer ein fester Speicherpaltz reserviert ist und somit die entsprechenden Einträge schneller gefunden werden können, d.h. die Abfragezeiten geringer sind. Wie kann ich da unter diesen Bedingungen dafür sorgen kann, dass in meiner Datatable bei den Einträgen keine Leerzeichen angfügt werden?

      Comment


      • #4
        Du hast so eine riesige Datenmenge, das es darauf ankommt?

        Sinnvoll wäre es, den Datentyp zu ändern
        Zuletzt editiert von Christian Marquardt; 27.12.2010, 20:45. Reason: Rechtschreibung
        Christian

        Comment


        • #5
          Originally posted by goof View Post
          ... weil ich einmal bei MySQL gelesen hatte, dass es sinnvoller ist CHAR zu nehmen, da in diesem Fall immer ein fester Speicherpaltz reserviert ist und somit die entsprechenden Einträge schneller gefunden werden können, d.h. die Abfragezeiten geringer sind.
          Für die Performance sind eher passende Indize oder die Verwendung eines Volltextindex anzuraten.


          Originally posted by goof View Post
          Wie kann ich da unter diesen Bedingungen dafür sorgen kann, dass in meiner Datatable bei den Einträgen keine Leerzeichen angfügt werden?
          Du meinst wenn du Char's und keine varchars verwendest - Gar nicht. Die definition von Char's ist ja das sie entsprechend mit einem Füllzeichen (i.d.R. Leerzeichen) auf die definierte Länge gefüllt werden.

          Comment


          • #6
            Hmm, am Ende wird die Datenmenge auch nicht so riesig sein. Dann setze ich wohl doch eher auf VARCHAR. Vielen Dank. Alternativ hätte ich dann nur die Möglichkeit rtrim() zu verwenden, obwohl das auch nur suboptimal ist.

            Comment

            Working...
            X