Databaser i VB.net

Tags:    vb.net

Ja, de aller klogeste af jer har jo nok luret at mit problem handler om database-brug i VB.net.

Jeg er i gang med at lære sproget (det er mit første "rigtige" sprog), og nu har jeg så fået mod på at prøve noget med databaser. Jeg vil helst bruge SQL, men hvis nogen har andre forslag så er jeg åben.

Nå, men til det reele spørgsmål:

Jeg har søgt rundt omkring på nettet, både Youtube, Google og Mirosoft's side, og egentlig fandt jeg nogen okay guides, jeg har bare haft virkelig svært ved at forstå det her!
Faktisk kan jeg ikke engang finde ud af at downloade SQL, så er virkelig på herrens mark.
Men, i alt fald, ville blive ovenud lykkelig hvis nogen gad bruge en aften på at forklare det, eller havde en enkel guide.

Jeg har en rimelig basal viden om VB.net, synes jeg selv.

Tak på forhånd!



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
ALLE databaser er bygget op omkring SQL (ja ja der findes objektorienterede hvis vi skal have debat:p), så en god ide at bruge SQL :=)

Af gratis kan nævnes:
SQL Express fra MS(måske fin til introduktion?), bruges vist kun til små lokale løsninger i stedet for access.
MySQL (bruges meget på web)

Med VB.NET kan du arbejde med de fleste databaser. Se evt "DB Factory pattern". Så har du lidt mulighed for ikke lige at binde dit kode til én bestemt database.

Hvis du arbejder med web, så er en database (typisk), bygget op på samme måde som du kender det på en webside med en table (hedder det så også i sql), med rækker af data, indenfor bestemte kolonner.

Du kan så hente data ud med SELECT.
Indsætte med INSERT

Lidt googling på de to ting burde få dig godt igang.

Man kan sige at der findes en del databaser, Oracle, MsSql Server, MySql m.fl, men fælles for dem er brugen af SQL, som nogenlunde går igen i syntax, der er ikke meget forskel. (eneste, der her skiller sig ud er access, der kan være pæn mærkelig).

Alt efter din installation af Visual Studio (går ud fra du benytter det), burde du egentlig have en SQl express installeret. Prøv at se under server explorer, om du ikke har en database kørende. Den kører, så vidt jeg husker kun, når dit program kører, hvor "rigtige" databaser altid kører.



Indlæg senest redigeret d. 08.08.2011 22:38 af Bruger #10576
Nja ud fra dét svar, vil jeg ikke debattere med dig ;-)

Har ikke så meget erfaring med web, heller, men lidt kender jeg da til DB'er dér.

Ja, "Google er din ven"..

Jeg hørte bare at SQL var den eneste rigtige at bruge, så det gik jeg ud fra.

Hmm, dét må jeg lige kigge på.

-Mange tak for svaret! :-)



@Benni: NoSQL som MongoDB, CouchDB osv.?



Indlæg senest redigeret d. 08.08.2011 23:00 af Bruger #11328
Altså der er ingen SQL, der er "den". Det er et programmeringssprog til relationelle databaser. Jeg kan kun gisne, og tro at folk kan have ment MS SQL Server.. Men altså, det er lidt en religions valg a la windows vs *nix.

Benytter personligt, på windows, MS SQL SERVER, men har da før været glad for at bruge MySQL. Eneste er Oracle, som jeg aldrig er blevet helt venner med. Vil tro at du har nemmest med at komme igang med SQL Express eller sql server, da du vist kan bruge lidt "snyde" tricks til nemt at arbejde med dem i visual studio til at starte med.

Sæbekassebil, tak fordi vi skulle ud i en debat!! (og jeg bukker mig i støvet ;=) )



Indlæg senest redigeret d. 08.08.2011 23:30 af Bruger #10576
Du er velkommen. :)



Microsoft SQL 2008 Express er fin til udvikling og sammenlignet med MySQL synes jeg at der er bedre værktøjer til at håndtering af databaserne..

Hvis du vælger at bruge MySQL, så skal du have fat i deres connector.. den nyeste version åbner op for en del muligheder, der før kun muligt med MSSQL...

Jeg synes det er vigtigt at du lærer at bruge de mest grundlæggende SQL-kommandoer, men samtidig finder jeg det utroligt besværligt at bruge SQL i .NET sammenlignet med f.eks. php.

Derfor bruger jeg altid, og jeg mener altid LINQ til kommunikationen med databasen fremfor de mere almindelige metoder.. problemet er bare LINQ pt. kun findes i .NET ... er vi heldige og Microsoft får deres vilje, vil det dog dukke op i andre sprog.

Med LINQ kan du gennem Visual Studio generere modeller med modeller der svarer til dine tabeller. Som noget nyt i Entity Framework 4.1 kan du også oprette databasen udfra dine VB-klasser/objekter...

I stedet for at oprette forbindelse, lave en SQL-forespørgsel, og omdanne resultatet til noget brugbart kan det med LINQ være noget lign:

Fold kodeboks ind/udCSharp kode 


Ovenstående er i C#, men det er samme princip ... LINQ klarer også alt hvad der hedder JOIN for en, hvis man vælger at have relationer i sin database..

Held og lykke :)





t