Saschas Weblog

ESCde Developer Blog

  Home :: Kontakt :: RSS Feed
  30 Posts :: 0 Artikel :: 10 Kommentare :: 32 Trackbacks

Archiv

Post Kategorien

ESCde

ESCde Blogger

Sonntag, 29. Juli 2007 #

Mit der Copy() Methode lässt sich eine DataTable als Ganzes kopieren, komplett mit Schema und Daten.

Für einzelne DataRows kann man eine Kombination aus der Clone() und ImportRow() Methode verwenden.

private DataTable CopyFourRows(DataTable dt)
{
    // mit Clone Methode Tabellenstruktur kopieren
    // Schema, ohne Daten
    DataTable dt_copy = dt.Clone();

    // mit ImportRow Methode die ersten 4 Zeilen kopieren
    for (int i = 0; i <= 4; ++i)
    {
        dt_copy.ImportRow(dt.Rows[i]);
    }

    return dt_copy;
}

Um binäre Dateien, wie etwa Bilder, über einen Webservice zu senden oder empfangen, kann man sie in ein ByteArray konvertieren.

public byte[] createByteArray(string imageName) 
{
   FileInfo fileInfo = new FileInfo(imageName);
   FileStream fileStream = fileInfo.OpenRead();
   byte[] byteArray = new byte[fileStream.Length];        
   int bytesRead = fileStream.Read(byteArray, 0, fileStream.Length);
   Console.WriteLine("{0} bytes have been read from {1}", 
   bytesRead.ToString(), imageName);
   return byteArray;
}

In die andere Richtung:

public void saveAsImage(byte[] bytes, string imageName) 
{
   MemoryStream memStream = new MemoryStream(bytes);
   System.Drawing.Image image = 
   System.Drawing.Image.FromStream(memStream);
   image.Save(imageName);
   Console.WriteLine("{0} was created successfully.", imageName);
}