03. juni 2012 - 19:24Der er
6 kommentarer og 1 løsning
Tilknytte databaser til eksisterende design
Hej Eksperter,
Jeg sidder med en del .aspx sider i Visual studio 2010. Det er et ret simpelt kartotek / lager system. Jeg har rimelig styr på oprettelsen af databaser, og hvordan jeg kan "Drag & drop" databaser ind i visual studio.
Mit spørgsmål er:
Hvis jeg har en masse sider, hvor f.eks. den ene side er hvor man kan oprette en person, eller en vare - Hvordan tilknytter man nemmest sin database til eksisterende design? Jeg kan jo sagtens trække databaser ind på en .aspx side. Men nu har jeg jo siddet og lavet det layout sådan som det skal se ud, og nu vil jeg gerne bare kunne give de forskellige knapper de funktioner de skal have. F.eks. hvis jeg trykker på "Opret vare, Person" Så skal den gøre det ud fra de oplysninger jeg giver den. Så for at gøre et langt spørgsmål lidt kortere: Hvordan får jeg min side til at forbinde til min database, nu hvor jeg har lavet alt mit layout på forhånd? Håber det giver mening, og håber på lidt hjælp :)
For mig lyder det som om at du benytter utrolig meget drag'n'drop i Visual Studio og efter min mening giver det stort set kun mening i demonstrationsøjemed samt hurtige prototyper - skal man udvikle rigtigt bør du have kontrol over hvad der foregår og dermed altså skrive kode selv. Du bør formentlig går i retning af at designe din database færdig, lave et dataaccess lag, fx vha Entity Framework, lave et forretningslag, hvor du laver metoder til fx validering samt CRUD-metoder, og endelig dit GUI-lag (altså både din markup og din codebehind), hvor du fx kalder dit forretningslag når du skal databinde samt gemme data.
Det er ikke kun drag % drop, men ja en del er det, da jeg først er begyndt at lære database. Jeg har oprettet mine databaser i SQL Server management studio, og kan også sagtens få forbindelse til dem. Hvis jeg connecter til dem i Visual Studio så laver den en "standard" formular med data. Og det er denne såkaldte formular jeg vil slippe for. Så tænkte jeg at jeg måske kunne give en "opret vare" den værdi at den skriver til databasen? Men det er måske ikke så lige til som jeg tænker, eller også skal jeg måske studere database i meget længere tid før jeg kan se sammenhængen. Bemærk: Det er ikke en vild kompliceret side jeg skal lave. Jeg vil bare have en database over nogle personlige ting. Så det er kun til mig selv, og intet komplekst. For egentlig har jeg fået det til at virker, jeg kan jo altid lave om på designet efter jeg har fået databasen ind i Visual Studio. Men jeg foretrækker at lave designet / layout først, og så tilføje det dynamiske efter. / Kenneth
Hvordan skaber du forbindelsen? I teorien kan du nøjes med at indsætte din connectionstring i web.config og så kan du ellers begynde at programmere op imod den; http://msdn.microsoft.com/en-us/library/ff648340.aspx
Undskyld den lange svartid. Jeg connecter ved at klikke på f.eks. en dropdownbox jeg har lavet, og så vælge en database jeg har oprettet i SQL server management. Jeg kan godt se der er meget at arbejde med, og er i fuld gang med at lære mig vejen frem. Tak for dit link, det giver noget at arbejde med. Svar gerne for point :)
Det er så uendelig lang tid siden jeg har lavet click'n'play i VS så hvis du vil fortsætte den vej kan jeg desværre ikke give dig en løsning - men sætter du dig ind i lidt mere korrekt kode som angivet i linket får du efter min mening både lettere hjælp fremover og ikke mindst bedre kontrol over hvad der sker i din applikation.
En ting der måske kunne hjælpe dig på vej så du slap for de værste sikkerhedsissues og fik stor hjælp til koden var at kigge på Entity Framework - det mapper din database over til objekter og så er det dem du arbejder med både når du skal gemme, hente osv.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.