Main /

C# Schnipsel

C# Schnipsel

/ HomePage / Computer / Software / Programmierung / Schnipsel / C# Schnipsel

C# Schnipsel und Beispiele

Diese Schnipsel und Code-Beispiele beziehen sich allein auf C#, das .NET Framework bzw. ASP .NET. Es geht hier nicht um spezielle Microsoft Produkt-APIs

Daten so aus einer SQL-Datenbank lesen, das sie leicht an ASP oder WinForms Controls gebunden werden können

Oftmals möchte man in einem kleineren Projekt das keinen OR-Mapper verwendet den Datenbankzugriff in einer zentralen Klasse kapseln. Möchte man dies auch für Datenbankzugriffe tun die nur dazu da sind um Auswahllisten und andere Controls zu füllen muss man sich überlegen, was die Zugriffsmethoden zurückgeben sollen, damit ein Data-Binding möglich ist. Hierfür bietet sich das DataTable Objekt an, da Data-Binding-Fähig ist (im Gegensatz zu einem SqlDataReader).

public static DataTable GetBindableData() {
   SqlConnection conn;
   SqlCommand cmd;
   conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString);
   conn.Open();

   cmd = new SqlCommand("Select ID, Name from MyTable", conn);
   SqlDataReader reader = cmd.ExecuteReader();

   DataTable result = new DataTable();
   result.Load(reader);

   reader.Dispose();
   cmd.Dispose();
   conn.Dispose();

   return result;
}

Und so bindet man die Daten an eine DropDownList, wobei angenommen wird, das sich die obige Methode in einer statischen Klasse namens SqlHelper befindet und die DropDownList den Namen DdlMyDropDownList trägt:

DdlMyDropDownList.DataSource = SQLHelper.GetBindableData();
DdlMyDropDownList.DataTextField = "Name";
DdlMyDropDownList.DataValueField = "ID";
DdlMyDropDownList.DataBind();

Schmerzfreies Lesen von Strings aus einem DataReader

Schmerzfrei deshalb weil DBNull in einen Leerstring konvertiert wird und FxCop sowie die in Visual Studio eingebaute Code-Analyse nicht meckert.

string myString = Convert.ToString(myReader["MeineDBSpalte"], CultureInfo.CurrentCulture);

Wandeln von XmlDocument, XmlNode und XML im string in ein XmlElement

Sowohl XmlDocument also auch XmlElement sind mehr oder weniger direkt von XmlNode abgeleitet. Der folgende Codeschnipsel zeigt die Umwandlungen:

private XmlElement _xdoc;
public XmlParser(XmlDocument input)
{
    _xdoc = input.DocumentElement;
}
public XmlParser(XmlElement input)
{
    _xdoc = input;
}
public XmlParser(XmlNode input)
{
    if (input is XmlElement)
    {
        _xdoc = (XmlElement)input;
    }
    else
    {
        _xdoc = ((XmlDocument)input).DocumentElement;
    }
}
public XmlParser(String input)
{
    XmlDocument temp = new XmlDocument();
    temp.LoadXml(input);
    _xdoc = temp.DocumentElement;
}

Lesen eines XML-Strings in einen XmlTextReader

string _xml = "<bla><blubb /></bla>";
StringReader stream = new StringReader(_xml);
XmlTextReader xreader = new XmlTextReader(stream);

while (xreader.Read())
{
    if (xreader.NodeType = XmlNodeType.Element)
    {
        // mach was
    }
}

Wandeln von Umlauten eines Strings in html-Entities

string text = "Sö schöön ist die Wääält!";
string converted = System.Web.HttpUtility.HtmlEncode(text);

Auslesen von Konfigurationseinstellungen aus der web.config in einer ASP.NET Anwendung

Man kann Applikationsweite Konfigurationseinstellungen (Key-Value-Paare) in die web.config Datei einer ASP.NET Anwendung schreiben und in der eigenen Programmierung auslesen.

Steht z.B. in der web.config...

<configuration>
        <appSettings>
            <add key="MyURL" value="http://meine.tolle.url.de" />
        </appSettings>
</configuration>

...so läßt sich der Wert von MyURL unter .NET 2.0 wie folgt auslesen:

string setting = ConfigurationSettings.AppSettings["MyURL"];

Ergebnis ist dann logischerweise http://meine.tolle.url.de.

Testen ob eine bestimmte Spalte in einer DataRow vorhanden ist

Testet ob die Spalte namens ColumnName in myDataRow vorhanden ist:

if (myDataRow.Table.Columns.IndexOf("ColumnName") >= 0)
{
    // do some great stuff here
}

Verwenden von Regulären Ausdrücken (Regular Expressions, Regex)

using System.Text.RegularExpressions;

...

Regex numbers = new Regex(@"(\+|-)?[0-9][0-9]*(\.[0-9]*)?");
MatchCollection matches = numbers.Matches("In mir soll gesucht werden");

Zum Testen von Regulären Ausdrücken empfielt sich das Tool Expresso.

XML gegen ein Schma validieren

c# String.Format() Formatkürzel

siehe auch

Links

Frische Änderungen | Menü editieren
zuletzt geändert am 15.05.2009 10:30 Uhr von Elsni
Edit Page | Page History