Announcement

Collapse
No announcement yet.

Datentyp der Spalte Abfragen

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

  • Datentyp der Spalte Abfragen

    Hi,

    ich lese mit c# daten aus einer mssql db aus.

    ich wandle die daten dann in einen string um, damit ich sie problemlos in einem labeltext ausgeben kann. beispiel:

    Code:
    string test = rd1["name"] as string;
    label1.Text = test;
    gibt es eine möglichkeit, den datentype der spalte weiterzuverwenden?
    standardmäßig ist der ausgelesene wert ja vom typ object.

    weiters habe ich mir gedanken über die ausgabe der daten gemacht.
    für die verschönerung der anzeige habe ich folgendes gemacht:

    Code:
    if (Test == "")
                                        {
                                            label1.Text = "-";
                                        }
                                        else
                                        {
                                            label1.Text = Test + " (" + TestID + ")";
                                        }
    Diese Lösung wirkt etwas unsauber. Gibt es dafür eine bessere Alternative?
    Vor allem würde ich das gerne für mehrere Spalten verwenden. Kann man den Code da noch minimieren oder muss ich dies für jeden Spalte separat tun?

    LG

  • #2
    Hallo,

    ich wandle die daten dann in einen string um, damit ich sie problemlos in einem labeltext ausgeben kann.
    Das geht auch etwas kürzer; das vermeidet u.U. das Kopieren eines Strings:
    Code:
    label1.Text = rd1["name"] as string;
    gibt es eine möglichkeit, den datentype der spalte weiterzuverwenden?
    Ja:
    Code:
    Type typ = rd1["Name"].GetType();
    für die verschönerung der anzeige habe ich folgendes gemacht...
    Diese Lösung wirkt etwas unsauber. Gibt es dafür eine bessere Alternative?
    Code:
    label1.Text = String.IsNullOrEmpty(Test) ? "-" :
       String.Format("{0} ({1})", Test, TestID);
    Erklärung: IsNullOrEmpty ist die richtige Abfrage für Strings. Der ?-Operator vereinfacht solche if-Abfragen. Für die Text-Formatierung ist bei mindestens 2 Bestandteilen String.Format zu empfehlen (Du hast mit den Klammern 4 Teile).

    Vor allem würde ich das gerne für mehrere Spalten verwenden. Kann man den Code da noch minimieren oder muss ich dies für jeden Spalte separat tun?
    Dann empfehle ich eindeutig die Lösung mit DataTable und DbDataAdapter, siehe OpenBook VC# Kap. 27.

    Gruß Jürgen

    Comment

    Working...
    X