Sorry wegen der Versp�tung, mein VisualStudio so nen Schuss und faselt
irgend etwas von "MS Development Environment has not been installed for the
current user. Please run setup to install the application.". Ich kann es
100mal installieren, der Fehler bleibt :(
So musste ich das Beispiel von Hand erstellen, was einwenig l�nger dauerte.
###########################
namespace SerializeExample
{
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable()]
public class User
{
private int _id = -1;
private string _name = "";
public int ID
{
get { return _id; }
}
public string Name
{
get { return _name; }
}
public User(int userId, string userName)
{
_id = userId;
_name = userName;
}
}
public class Example
{
private static SqlDataAdapter sqlAdapter = null;
[STAThread]
public static void Main(string[] args)
{
// SERIALIZATION
// create a user instance to serialize
User userExample = new User(12, "Hans Muster");
MemoryStream writeStream = new MemoryStream();
// serialize the created user instance
BinaryFormatter serializer = new BinaryFormatter();
serializer.Serialize(writeStream, userExample);
writeStream.Close();
// create a sql server connection and get the user data
DataSet userData = GetUserData();
// create a new row to fill the data
DataRow newRow = userData.Tables[0].NewRow();
newRow[0] = writeStream.ToArray();
userData.Tables[0].Rows.Add(newRow);
// write binary data
sqlAdapter.Update(userData);
// DESERIALIZATION
// get the serialized user data from database
DataSet serializedData = GetUserData();
MemoryStream serializedUserData = new
MemoryStream((byte[])serializedData.Tables[0].Rows[0][0]);
// deserialize user data object
BinaryFormatter deserializer = new BinaryFormatter();
User deserializedUser =
(User)deserializer.Deserialize(serializedUserData);
Console.WriteLine("UserId: {0} - UserName: {1}", deserializedUser.ID,
deserializedUser.Name);
}
private static DataSet GetUserData()
{
// create connection to db server
SqlConnection sqlConnection = new SqlConnection("server=(local);"
+ "Integrated Security=yes;database=Test;");
sqlAdapter = new SqlDataAdapter("SELECT * FROM SerializationExample",
sqlConnection);
// create result dataset
DataSet userData = new DataSet();
sqlAdapter.InsertCommand = new SqlCommand("INSERT INTO
SerializationExample "
+ "(UserData) Values(@UserData)", sqlConnection);
sqlAdapter.InsertCommand.Parameters.Add("@UserData", SqlDbType.Binary,
8000, "UserData");
sqlAdapter.Fill(userData);
return userData;
}
}
}
###########################
Gruss Silvan
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]Im Auftrag von Andreas
Rudischhauser (N)
Gesendet: Mittwoch, 25. September 2002 12:21
An: aspDEdotnet
Betreff: [aspdedotnet] AW: Speichern von Klassen
Mehr...?
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] Im Auftrag von Silvan
Gehrig
Gesendet: Mittwoch, 25. September 2002 11:37
An: aspDEdotnet
Betreff: [aspdedotnet] AW: Speichern von Klassen
Japs, implizite [Attribute] oder explizite [ISerializable interface]
Serialisierung.
Gruss Silvan
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]Im Auftrag von Andreas
Rudischhauser (N)
Gesendet: Mittwoch, 25. September 2002 00:51
An: aspDEdotnet
Betreff: [aspdedotnet] Speichern von Klassen
Ich mache mir die die ganze Zeit gedanke zum Speichern meiner User
Klasse.
Ich kann nat�rlich die .Load und .Save Methode meiner Klasse selbst
programmieren mit INSERT INTO und dann jede Variable durchgehen, aber
das ist doch eigentlich bl�d...
Es w�re doch viel besser wenn ich der Datenbank das komplette Objekt
abgeben k�nnte.
Gibt�s dazu schon Ans�tze?
| [aspdedotnet] als [EMAIL PROTECTED] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie
| k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp
__________________________________________________________________
Gesendet von Yahoo! Mail - http://mail.yahoo.de
Yahoo! pr�sentiert als offizieller Sponsor das Fu�ball-Highlight des
Jahres: - http://www.FIFAworldcup.com
| [aspdedotnet] als [EMAIL PROTECTED] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie
| k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp
| [aspdedotnet] als [EMAIL PROTECTED] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp
__________________________________________________________________
Gesendet von Yahoo! Mail - http://mail.yahoo.de
M�chten Sie mit einem Gru� antworten? http://grusskarten.yahoo.de
| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp