[ PremierApostile @ 11.06.2006. 21:41 ] @
Da li je moguce upisati(naravno posle i citati) ceo objekat u datoteku?
U objektu imam 17 stringova i jedan datetimepicker.

[ spartak @ 11.06.2006. 23:32 ] @
Da li u stvari hoces da upises te vrednosti u bazu (datoteku), ili bas hoces objekat?

Moze i jedno i drugo, mada ne vidim zasto bi drugo uradio.

Uopsteno, praksa je da se vrednosti nekog objekta snime u bazu, a kada ti objekat ponovo zatreba instanciras ga sa tim vrednostima koje tada uzmes iz baze.

Ali ako bas hoces, mozes i da serijalizujes pa pisi u BLOB :-)
[ PremierApostile @ 11.06.2006. 23:51 ] @
[quote]spartak: Da li u stvari hoces da upises te vrednosti u bazu (datoteku), ili bas hoces objekat?

Moze i jedno i drugo, mada ne vidim zasto bi drugo uradio.

Uopsteno, praksa je da se vrednosti nekog objekta snime u bazu, a kada ti objekat ponovo zatreba instanciras ga sa tim vrednostima koje tada uzmes iz baze.

Ali ako bas hoces, mozes i da serijalizujes pa pisi u BLOB

hocu u datoteku da upisem vrednosti iz objekta.Hteo sam da pitam da li je moguce da to ne odradim sa streamwriter i da svaki string upisem kao string,odnosno hocu na neki nacin da "onemogucim " proveru sadrzaja datoteke tekstualnim programima.
Jednostavnije bi mi bilo ako moze ceo objekat sa svim promenjivima da snimim nego svaki string pojedinacno.
Pocetnik sam u C#,nisam koristio baze podataka do sada,pa zbog toga hocu preko datoteka da odradim.Mogu samo da naslutim da su baze mnogo prakticnije za ove probleme , ?
[ Dejan Vesic @ 13.06.2006. 19:14 ] @
Citat:
PremierApostile:
hocu u datoteku da upisem vrednosti iz objekta.Hteo sam da pitam da li je moguce da to ne odradim sa streamwriter i da svaki string upisem kao string,odnosno hocu na neki nacin da "onemogucim " proveru sadrzaja datoteke tekstualnim programima.
Jednostavnije bi mi bilo ako moze ceo objekat sa svim promenjivima da snimim nego svaki string pojedinacno.
Pocetnik sam u C#,nisam koristio baze podataka do sada,pa zbog toga hocu preko datoteka da odradim.Mogu samo da naslutim da su baze mnogo prakticnije za ove probleme ,:-) ?


Moguće je i jedno i drugo.

Ako hoćeš objekat, onda se to zove serijalizacija i metod koji pravi XML za dati objekat izgleda nekako ovako:

Code:

static public string GetXML(object request)
{
    if(request == null)
        return null;

    MemoryStream writer = new MemoryStream();
    string line;

    XmlSerializer ser = new XmlSerializer(request.GetType());

    ser.Serialize(writer, request);

    writer.Seek(0, SeekOrigin.Begin);

    StreamReader tr = new StreamReader( writer );

    StringBuilder sb = new StringBuilder("");

    line = tr.ReadLine();

    while (! Shared.IsStringEmpty( line ) ) 
    {
        sb.Append( line + Environment.NewLine  ) ;
        line = tr.ReadLine();
    }

    writer.Close();

    return sb.ToString();
}


Jednom kada dobiješ XML, snimiš ga u fajl, uz eventualno šifrovanje (ako baš hoćeš da bude nečitljiv spolja).

Za obrnutu operaciju, deserijalizaciju, pogledaj u dokumentaciji za:

- XmlSerializer.CanDeserialize
- XmlSerializer.Deserialize

metode.

Ako je struktuiran set podataka u pitanju, najbolje je da koristiš DataSet objekat, koji već ima .WriteXml i .ReadXml metode spremne za upravo to.