webForumDet fria alternativet
Logga in / Bli medlem

Serialize

.NET

2 svar · 218 visningar · startad av Bjuris

Medlem sedan juli 2001514 inlägg
Trådstart#1

Jag använder mig av Serialize och BiaryFormatter för att skriva till en datafil.
När jag gör det så skriver den automatiskt över det som redan ligger där.

Hur skall jag göra för att den skall lägga till, om jag exempelvis skulle vilja ha flera användare?

public void addUser(string name, string Email)
		{
			Hashtable UserProp = new Hashtable();
			UserProp.Add("Namn", name);
			UserProp.Add("Email", Email);
			
			FileStream fs = new FileStream("UserDataFile.dat", FileMode.Create);
			BinaryFormatter formatter = new BinaryFormatter();
			try 
			{
				formatter.Serialize(fs, UserProp);
			}
			catch (SerializationException e) 
			{
				Console.WriteLine("Failed to serialize. Reason: " + e.Message);
				throw;
			}
			finally 
			{
				fs.Close();
			}
		}

Och husr skall jag då göra för att få ut data för enbart den som loggar in?

Medlem sedan dec. 2000399 inlägg
#2

Prova med FileMode.Append.

Medlem sedan maj 20012 812 inlägg
#3

Och husr skall jag då göra för att få ut data för enbart den som loggar in?

Det gör man inte.

Att spara ner något som Binary och sedan försöka göra en sorts select där man bara vill plocka fram en post är inget att rekomender, det är därför som det finns databaser, eller åtminstonde XML filer som du kan gör frågor mot.

Lösningen på ditt problem är att läsa in all data i en egen collection av dina objekt och sedan loopa igenom alla objekten och plocka fram det objekt som matchar inloggnings uppgifterna.

- M

374 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
125 ms — hämta statistik (db)
124 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)