Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[C#] Wat voor type DB of opslag voor heel kleine DB

Pagina: 1
Acties:

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Beste Tweakers,

Ik zit te prutsen met een C# application waar ik wat instellingen over mijn windows services wil opslaan in een bepaald profiel zodat wanneer ik ga gamen ik met 1 druk op de knop Mysql,Apache,Filezilla,Turtoise, HP printer driver e.d wil uitzetten en daarna met 1 druk op de knop weer terug naar een ander profiel....na goed. de applicatie werkt echter ik ben even de draad kwijt over hoe ik het nu eigenlijk moet opslaan die instellingen.

In versie 1 van de applicatie heb ik gebruikt gemaakt van een Access mdb.
In versie 2 ben ik overgegaan naar XML en schreef ik met een XML writer keihard de data naar een XML bestand en las ik ook weer in.

Nu zit ik te testen met het geserialiseerd opslaan van een List<> met items..(werkt prima overigens)

Mysql, Mssql e.d vind ik een beetje overkill..

Mis ik misschien een hele makkelijke C# uit het boekje manier voor dit soort instellingen data.

  • whoami
  • Registratie: December 2000
  • Laatst online: 01:11
De boel opslaan in een xml file of je objecten gewoon serializeren (met soap of binary formatter of zelfs met de xml formatter) lijkt me voldoende.
Je zou ook eens kunnen kijken naar een in-memory DB zoals SQL-lite, maar wellicht is dit ook al overkill voor hetgeen je wil doen.

https://fgheysels.github.io/


  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
in C# kun je heel makkelijk dingen opslaan in een soort van personal database, daar zit standaard encrpytie over heen en alleen de applicatie zelf kan de inhoud dus lezen.

Als je in visualstudio gewoon "add items" doet dan kun je een settings file toevoegen. misschien kun je daar eens mee spelen, het is erg handig :).

meer info: http://msdn.microsoft.com...ftf714c(en-us,VS.80).aspx

[ Voor 19% gewijzigd door roy-t op 30-08-2008 16:00 ]

~ Mijn prog blog!


  • Flard
  • Registratie: Februari 2001
  • Laatst online: 16-11 21:27
Plus, voor instellingen heeft .NET ook nog de Configuration en Settings classes.
Zeker in Visual Studio (in de Project Properties) kun je zoiets snel inrichten, en dan krijg je meteen mooie 'Managed' classes terug van VS...

Voor het gemak moet je wel zorgen dat alles wat je wil opslaan Value Type/immutable is (int, long, struct, string)

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 16-11 19:52

Gerco

Professional Newbie

Db4o kan ook een oplossing zijn. Slechts een kleine DLL aan je app toevoegen en je kan gewoon je objecten opslaan in een database file, precies zoals ze zijn. Makkelijker kan het bijna niet :)

Je kan natuurlijk ook de .NET equivalenten van de ObjectInputStream en ObjectOutputStream gebruiken, maar dat zou ik niet doen voor data die je in meerdere versies van je App moet lezen en schrijven.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 10-11 11:39

ZaZ

Tweakers abonnee

Een database is IMHO niet om wat settings in op te slaan. In een database moet ook gezocht worden anders heb je geen database nodig.
Moet je objecten opslaan? dan is XML een goede keuze. Als het 2D blijft, volstaat een .ini of eigen formaat prima.

Als ik het zo lees zou volgens mij een ini file de meest logische keuze zijn

Lekker op de bank


  • burne
  • Registratie: Maart 2000
  • Niet online

burne

Mine! Waah!

vorlox schreef op zaterdag 30 augustus 2008 @ 15:52:
Mysql, Mssql e.d vind ik een beetje overkill..
Hebben jullie op C# geen sqlite? (Google zegt http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers ?) File-based, lichtgewicht, snel, en met een enkele uitzondering hier en daar SQL-compatible.

I don't like facts. They have a liberal bias.


  • bastv
  • Registratie: September 2005
  • Laatst online: 15-11 00:39
sqllite lijkt mij ook de beste oplossing maar doe het dan gelijk goed met met een linq to sqllite provider
http://kubasik.net/blog/2007/10/25/sqllite-linq-provider/

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
burne schreef op zondag 31 augustus 2008 @ 03:46:
[...]

Hebben jullie op C# geen sqlite? (Google zegt http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers ?) File-based, lichtgewicht, snel, en met een enkele uitzondering hier en daar SQL-compatible.
Ik geloof dat MSSQL een soort van desktop versie heeft die bij een applicatie in kan. (in iedergeval gebruikt Windows Media Player 10+ een soort van MS SQL Server).

Edit: ah ik heb hem gevonden:
SQL Server Compact 3.5 is a small footprint in-process database engine that allows developers to build robust applications for Windows Desktops and Mobile Devices. This download contains the files for SQL Server Compact 3.5 and Synchronization Services for ADO.Net v1.0 for Windows Desktop platform
Hij is volledig te integreren met C# en VB.Net

[ Voor 34% gewijzigd door roy-t op 31-08-2008 10:48 ]

~ Mijn prog blog!


  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Wow, ik had even niet gekeken.... bedankt voor alle reacties, ik ga even alle opgegeven linkjes afstruinen....ik meld me weer terug

  • bastv
  • Registratie: September 2005
  • Laatst online: 15-11 00:39
roy-t schreef op zondag 31 augustus 2008 @ 10:42:
[...]


Ik geloof dat MSSQL een soort van desktop versie heeft die bij een applicatie in kan. (in iedergeval gebruikt Windows Media Player 10+ een soort van MS SQL Server).

Edit: ah ik heb hem gevonden:

[...]


Hij is volledig te integreren met C# en VB.Net
Die is inderdaad wel goed te gebruiken. (met een installer of dlls aan je programma toevoegen http://msdn.microsoft.com/en-us/library/aa983326(VS.80).aspx)
Het enige nadeel is dat je hem alleen kan openen/bewerken met visual studio 2008 of Microsoft management studio 2008 (die alleen nog maar bij sql server 2008 geleverd wordt)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Waarom zou je een compleet databasesysteem implementeren voor iets wat per definitie prima in een ini- of xml-file kan? :) Het is niet alsof er veel mutaties op die file gaan gebeuren, laat staan concurrent. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
-NMe- schreef op zondag 31 augustus 2008 @ 16:43:
Waarom zou je een compleet databasesysteem implementeren voor iets wat per definitie prima in een ini- of xml-file kan? :) Het is niet alsof er veel mutaties op die file gaan gebeuren, laat staan concurrent. ;)
Klopt daarom gaf ik ook eerst de application settings file aan die standaard in C# zit :).

~ Mijn prog blog!

Pagina: 1