Toon posts:

[C#] Welk RDBMS voor een beginner?

Pagina: 1
Acties:

Vraag


  • Tijs Beek
  • Registratie: December 2017
  • Laatst online: 24-05 14:40
Mijn vraag:
Hoe kan ik met C# een Database koppelen?
En wat voor Database is het best?
De database is bedoeld om alle ingevoerde gegevens op te slaan die in een "Console Application C#" app worden getypt

Relevante software en hardware die ik gebruik:
Microsoft Visual Studio

Wat ik al gevonden heb:

Youtube: Video's waren oud of ik mis een deel van de uitleg

Via Azarty kan je een database maken, alleen hiervoor moest je een BTW nummer invoeren. En hier ging ik niet mee akkoord.

Op Tweakers. Ik vond geen topics over hetzelfde onderwerp.

MySQL. Ik kom alleen in de problemen doordat ik informatie over mijn Port en Memory geheugen moet invoeren. Ik weet niet of ik hier iets mee moet doen.


Ik zelf ben 13. Kan HTML en CSS. JS niet.
C# doe ik nu ook. Heb een programma geschreven en ik wil de ingevoerde data op mijn laptop te zien krijgen.

[Voor 63% gewijzigd door Tijs Beek op 23-11-2018 10:14]

Alle reacties


  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 19-05 21:04

MAX3400

XBL: OctagonQontrol

Hoi @Tijs Beek over wat voor database hebben we het?

Normaliter kan je dan gebruik maken van een "connector"; voor Microsoft Databases is dat vaak een Access of SQL driver en dan zal je moeten beginnen om een connectionstring te programmeren in je C# applicatie. Wil je bijvoorbeeld verbinden met MySQL, kan je bijvoorbeeld https://dev.mysql.com/downloads/connector/net/6.1.html bezoeken en daar gebruik van maken.

Allicht, maar dat is meer om je eigen ergernis in programmeren te voorkomen; als de database al online is, kan je vaak al via ODBC (in Windows) een connectie leggen en controleren of je mag/kan inloggen op je database. Pas als je dat voor elkaar hebt, zou ik verder gaan kijken hoe je dit in C# gaat programmeren.

Voor SQL Server, kan je (gedeelte van de) code eruit zien als
code:
1
connectionString="Data Source=SQLSRVR01; Initial Catalog=DB01;User ID=Tijs;Password=Beek"

Daarbij ga ik ervanuit dat dus de machine waarop SQL draait SQLSRVR01 heet, de database DB01 en je een SQL-user hebt aangemaakt met voldoende permissies op de database met gebruikersnaam Tijs en met wachtwoord Beek.

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 13:21
Als je makkelijk wilt doen kun je kijken naar Entity Framework.

Voordeel : je kunt je focussen op de code zonder echte kennis van de onderliggende database. (Verder zijn er nog tal van andere voordelen.)

Dit is ook meteen het grootste nadeel : je leert weinig mbt de onderliggende databases en hoe queries werken en opgebouwd zijn terwijl het in mijn ogen toch wel belangrijk is om enige basiskennis te hebben mbt databases alleen al om te begrijpen wat EF onder water doet.

[Voor 76% gewijzigd door Killah_Priest op 22-11-2018 21:48. Reden: Ivm reactie van RobIII mijn reactie gemotiveerd]


  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

d:)b maar dat neemt niet weg dat ook voor jou de Quickstart geldt ;) Dus we zien hier graag wat je zélf al geprobeerd hebt, waar je niet uit kwam, wat je gezocht hebt en wat je toen vond en waarom dat volgens jou niet hielp. Daarnaast ontbreekt er, zoals je aan de huidige reacties zult merken, nogal wat informatie in je topicstart. Sterker; op de "fluff" na bestaat je topic in essentie uit "Hoe kan ik met C# een Database koppelen?"
Tijs Beek schreef op donderdag 22 november 2018 @ 20:19:
Youtube tutorials. Die gebruiken alleen oude versies. Waardoor de video's niet werken.
Onzin; er zijn er talloze (en wist je dat je op YouTube kunt sorteren op recent? ;)
Tijs Beek schreef op donderdag 22 november 2018 @ 20:19:
Azary: Moet een BTW nummer invoeren. Vindt het erg onduidelijk.
Geen idee wat je hier mee bedoelt, maar i.p.v. zeggen "erg onduidelijk" helpt het als je aangeeft wat je dan onduidelijk vindt en waarom.

Maar als ik jou was zou ik 't niet zo zeer op YouTube zoeken maar gewoon in de uitstekende (en up-to-date) documentatie van Microsoft zelf. Ook daar is meer dan genoeg te vinden.

Verder zul je even moeten uitzoeken of je zélf met de DB aan de slag wil (ADO of, beter, Dapper; beide allemaal erg "low-level") of meer neigt naar een ORM zoals Entity Framework, LLBLGen en consorten.

Ik laat het topic voor nu open op 2 voorwaarden: Ik wil graag vanaf (na) deze post enkel nog maar onderbouwde antwoorden zien (en dus niet zoiets); als iedereen hier zijn/haar favo techniekje gaat roeptoeteren zonder onderbouwing komen we nergens en heeft TS niets aan. En ten tweede wil ik graag dat je je topicstart aanvult met de ontbrekende informatie waar in deze post en voorgaande posts om gevraag wordt.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Tijs Beek
  • Registratie: December 2017
  • Laatst online: 24-05 14:40
MAX3400 schreef op donderdag 22 november 2018 @ 20:27:
Hoi @Tijs Beek over wat voor database hebben we het?
Ik heb een Console Application met C# waarvan ik de ingevoerde data wil zien op mijn laptop.
Bedoel je dit?

Ik ben nu wel bezig met een MySQL server opzetten. Alleen ik weet niet wat ik moet doen bij "Type and Networking"
Ik moet de Memory en Pipe een naam geven
En een port toevoegen.

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Tijs Beek schreef op vrijdag 23 november 2018 @ 10:11:
[...]

Ik heb een Console Application met C# waarvan ik de ingevoerde data wil zien op mijn laptop.
Bedoel je dit?
Nee, de vraag van MAX3400 was: MySQL, MSSQL, Postgres, of welke van de vele anderen?
Als je er nog geen gekozen hebt / gebruikt kan ik SQL Server Express aanraden; gratis en prima om mee te beginnen (maar wel "gelimiteerd" in een aantal zaken waar je, zeker in 't begin, niet snel tegenaan zult lopen). De tooling (SSMS) sluit echter erg goed aan bij Visual Studio en i.c.m. .Net (en zeker voorgenoemde Entitiy Framework) is 't wel een beetje een "match made in heaven". Having said that; het is geen enkel probleem om MySQL of een ander RDBMS te gebruiken i.c.m. C#.
Tijs Beek schreef op vrijdag 23 november 2018 @ 10:11:
Ik ben nu wel bezig met een MySQL server opzetten. Alleen ik weet niet wat ik moet doen bij "Type and Networking"
Ik moet de Memory en Pipe een naam geven
En een port toevoegen.
Je gebruikt neem ik aan gewoon de installer? En je installeert op Windows? Dan kun je alles gewoon default laten. Poort 3306, named pipe en shared memory mogen uit (voor nu, leuk om later eens mee te spelen).

[Voor 7% gewijzigd door RobIII op 23-11-2018 10:29]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Marber
  • Registratie: Juni 2014
  • Laatst online: 12:34
Als ik jou was zou ik in dit geval beginnen met een simple access database en MySQL voor nu even los laten. Het koppelen van een access-database is niet heel moeilijk en er zijn genoeg voorbeelden te vinden online.

success

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Marber schreef op vrijdag 23 november 2018 @ 10:33:
Als ik jou was zou ik in dit geval beginnen met een simple access database en MySQL voor nu even los laten. Het koppelen van een access-database is niet heel moeilijk en er zijn genoeg voorbeelden te vinden online.
Access is een poor excuse for a database en daarbij niet eens gratis; je hebt er een Office licentie voor nodig. Daarbij zul je een heleboel bad habits oppikken als je Access gaat gebruiken (en dan hebben we 't er nog niet over gehad dat bij zo'n beetje elke nieuwe versie de driver wel weer 'breekt' of ermee kapt op je systeem). En Access schaalt niet; het is niet geschikt om met meerdere gebruikers tegelijkertijd in te roeren en als je er een beetje spannender dingen mee gaat doen en richting de 100k rijen gaat zul je merken dat Access dat ook allemaal opeens minder leuk vindt. Er zijn zat betere alternatieven die je wél een RDBMS kunt noemen. MSSQL Express, MySql, Postgres zijn allemaal gratis en hebben allemaal prima tooling (SSMS, MySQL Workbench, PgAdmin) om er mee aan de slag te kunnen. Hell, op persoonlijke basis zou ik zelfs SQLite prefereren boven Access :P

[Voor 24% gewijzigd door RobIII op 23-11-2018 11:50]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Marber
  • Registratie: Juni 2014
  • Laatst online: 12:34
@RobIII Ja je hebt gelijk, maar aangezien dit echt een beginner betreft met C# lijkt Access mij zeker wel een goed begin. We kunnen natuurlijk ook direct over SQL injection en dergelijke beginnen, maar daar is TS volgens mij ook niet mee geholpen.

Laat TS eerst iets aan de praat krijgen, dan komt de rest vanzelf... je moet toch ergens beginnen :)

  • boe2
  • Registratie: November 2002
  • Niet online

boe2

'-')/

Dan lijkt me het toch veel eenvoudiger om sqlite binnen te trekken via nuget dan met gepruts een access DB aan de praat te krijgen in je c# applicatie.

Grotere vraag is: Heeft OP sql kennis?

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind.' - Pratchett.


  • Tijs Beek
  • Registratie: December 2017
  • Laatst online: 24-05 14:40
Ik zal wel eens kijken voor Access.
Het is mijn bedoeling om de Database op een Rasberry PI te zetten.
Nee, ik heb geen SQL kennis.
Tenminste een Minecraft server is volgens mij iets heel anders :P
RobIII schreef op vrijdag 23 november 2018 @ 11:43:
[...]
Access is een poor excuse for a database en daarbij niet eens gratis; je hebt er een Office licentie voor nodig.
Ik heb ook een Office License via school.

[Voor 52% gewijzigd door Tijs Beek op 23-11-2018 12:27]


  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Tijs Beek schreef op vrijdag 23 november 2018 @ 12:22:
Het is mijn bedoeling om de Database op een Rasberry PI te zetten.
Dan moet je al helemáál niet kijken naar Access maar naar MySQL o.i.d.
Het is, technically, mogelijk een Access database op een RPi te zetten, maar alleen omdat je de RPi dan gebruikt als (super simpele) fileserver en je moet dan gaan rommelen met SMB etc. Maar geloof me, je probeert een vierkant blokje in een rond gaatje te stoppen. Met een hamer kom je er wel, maar of 't een goeie oplossing is...

Maar ik snap effe niet; je was toch al bezig/begonnen met MySQL installeren? Of heb je dat opgegeven? En waarom?

[Voor 9% gewijzigd door RobIII op 23-11-2018 12:30]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Stoelpoot
  • Registratie: September 2012
  • Niet online
Marber schreef op vrijdag 23 november 2018 @ 12:02:
We kunnen natuurlijk ook direct over SQL injection en dergelijke beginnen, maar daar is TS volgens mij ook niet mee geholpen.
Laten we niet pretenderen dat zodra iemand al een my-first-db-connection vraag heeft er niemand toch wel over begint... Overigens ben ik het er wel mee eens, zonder de fundering kan je geen solide huis bouwen, ook al weet je precies hoe je de bakstenen stevig legt.
Tijs Beek schreef op vrijdag 23 november 2018 @ 12:22:
Ik zal wel eens kijken voor Access.
Het is mijn bedoeling om de Database op een Rasberry PI te zetten.


[...]


Nee, ik heb geen SQL kennis.
Tenminste een Minecraft server is volgens mij iets heel anders :P


[...]


Ik heb ook een Office License via school.
Zoals @RobIII zegt, is Access dan geen goede optie, en zou ik MySQL of SQLite aanraden om naar te kijken.

  • Tijs Beek
  • Registratie: December 2017
  • Laatst online: 24-05 14:40
Ik heb de MySQL Developer Basis Edition.
En het moet nog niet op de Rasberry Pi. Ik wil daarnaar toe werken.

Alleen ik wou gerust even kijken naar Access doordat het veel word aangeraden.

(Drukte per ongeluk op enter)

[Voor 93% gewijzigd door Tijs Beek op 23-11-2018 12:41]


  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

SQL is een taal (met allerlei 'dialecten')... dus daarmee weten we nog niks. Alles van Access tot MySQL, MSSQL, Postgres, SQLite en de vele anderen spreken, in principe, SQL. Dus je zult wat specifieker moeten zijn; wat heb je nu geïnstalleerd of waar doel je nu op?
Tijs Beek schreef op vrijdag 23 november 2018 @ 12:32:
Ik heb de MySQL Developer Basis Edition.
d:)b
Tijs Beek schreef op vrijdag 23 november 2018 @ 12:32:
En het moet nog niet op de Rasberry Pi. Ik wil daarnaar toe werken.
Dan is MySQL een goede keuze dus want je kunt 't op Windows installeren maar straks ook op de RPi gebruiken. En dan wil ik je vervolgens MySQL Workbench aanraden om je MySQL te benaderen en te beheren. Je kunt ook PHPMyAdmin overwegen, maar dat vereist veel meer werk (je moet een webserver installeren, PHP installeren, PHPMyAdmin geïnstalleerd krijgen etc.) i.t.t. de "Setup -> Next -> Next -> Finish" voor MySQL Workbench.
Tijs Beek schreef op vrijdag 23 november 2018 @ 12:32:
Alleen ik wou gerust even kijken naar Access doordat het veel word aangeraden.
Waar? In dit topic is 't maar door 1 iemand aangeraden; dat wil ik niet "veel" noemen :)

Ik zal meteen je topic even hernoemen:

[C#] "Het systeem kan het opgegeven bestand niet vinden" (waar komt dat überhaupt vandaan?) -> [C#] Welk RDBMS voor een beginner?

[Voor 99% gewijzigd door RobIII op 23-11-2018 12:47]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Marber
  • Registratie: Juni 2014
  • Laatst online: 12:34
Als het op een Pi moet draaien, dan is Access inderdaad geen optie.

Wellicht kan je duidelijk omschrijven wat je nu exact wil bereiken, dan kunnen wij je een veel beter advise geven.

  • Tijs Beek
  • Registratie: December 2017
  • Laatst online: 24-05 14:40
De eerste titel was van een programmeer fout maar die is al opgelost. En ik was de titel vergeten te veranderen.

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:37

Haan

dotnetter

Marber schreef op vrijdag 23 november 2018 @ 12:46:
Als het op een Pi moet draaien, dan is Access inderdaad geen optie.
Nee, Access is überhaupt nooit een goede optie ;)

Kater? Eerst water, de rest komt later


  • Standeman
  • Registratie: November 2000
  • Laatst online: 12:01

Standeman

Moderator Wonen & Mobiliteit

Prutser 1e klasse

Haan schreef op vrijdag 23 november 2018 @ 13:27:
[...]

Nee, Access is überhaupt nooit een goede optie ;)
Ik zou het inderdaad met nog geen stok aanraken :X

@Tijs Beek
Zodra je MySQL server up & running is kan je met MySQL Workbench kijken of je kan inloggen en alvast een schema aanmaken voor je tabellen.

De volgende stap is dan vanuit je C# applicatie te verbinden naar de database. Daar is onder andere met google genoeg over te vinden.

The ships hung in the sky in much the same way that bricks don’t.


  • Brilsmurfffje
  • Registratie: December 2007
  • Niet online

Brilsmurfffje

Parttime Prutser

Voor wat de TS wilt is het dan niet een heel stuk gemakkelijker om een webframework te pakken? Django is gemakkelijk, configureer je modellen en het framework genereert automatisch HTML en er zit een basale database management interface in.

Er staat op Mozilla MSDN een uitstekende tutorial voor een bibliotheek systeem. Met een kleine aanpassing zou de TS dit kunnen aanpassen naar wat hij wilt.

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Waar lees jij wat TS wil? Of waar lees jij wat TS wil wat Django als suggestie rechtvaardigt?
Tijs Beek schreef op donderdag 22 november 2018 @ 20:19:
De database is bedoeld om alle ingevoerde gegevens op te slaan die in een "Console Application C#" app worden getypt
Brilsmurfffje schreef op vrijdag 23 november 2018 @ 14:15:
is het dan niet een heel stuk gemakkelijker om een webframework te pakken?
Het enige dat ik lees is C# en een, klaarblijkelijk, al bestaande (of in ontwikkeling zijnde) console applicatie.

[Voor 33% gewijzigd door RobIII op 23-11-2018 14:27]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Brilsmurfffje
  • Registratie: December 2007
  • Niet online

Brilsmurfffje

Parttime Prutser

RobIII schreef op vrijdag 23 november 2018 @ 14:22:
[...]

Waar lees jij wat TS wil?


[...]

Het enige dat ik lees is C#.Dus om dat met Django aan te komen? We weten helemaal niet wat TS "wil"?
Tijs Beek schreef op vrijdag 23 november 2018 @ 10:11:
[...]

Ik heb een Console Application met C# waarvan ik de ingevoerde data wil zien op mijn laptop.
Bedoel je dit?
Voordeel van de Django oplossing is dat je direct een front end hebt via de browser op elk apparaat dat kan verbinden met de RPI.

Ook werkt t geïnterpreteerd dus is het makkelijker prutsen, zit het geheel er gelijk mooi uit en de TS heeft al ervaring met HTML en CSS :)
Pagina: 1

Let op:
Graag onderbouwde antwoorden; als iedereen hier zijn/haar favo techniekje gaat roeptoeteren zonder onderbouwing komen we nergens en heeft TS niets aan.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee