webForumDet fria alternativet

Serialize

2 svar · 216 visningar · startad av Bjuris

BjurisMedlem sedan juli 2001542 inlägg
#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?

juventus1Medlem sedan dec. 2000401 inlägg
#2

Prova med FileMode.Append.

GladhMedlem sedan maj 20013 024 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

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb