05. november 2003 - 12:40Der er
16 kommentarer og 1 løsning
MS SQL Server (sletning af DB samt opr. af data udfra DataSet)
Hej.
Jeg er lige begyndt at arbejde med SQLServer, og er derfor ikke så god til det. Jeg har før arbejdet med ADO.NET, men ikke så meget - kun lige til husbehov, og det var i forb. med Oracle og MS Access.
Rammerne for problemet er:
Jeg har en database liggende lokalt, som skal opdateres (100%) en gang i døgnet. Det kan godt være at nogle af de gamle informationer er de samme som de nye, men i stedet for at bekymre mig om dette vælger jeg at opdatere alt. Indholdet af den nye database skal senere vises på web.
Problemerne (som der er 2 af) er:
1. Hvordan sletter jeg indholdet af en hel database? Jeg vil gerne bibeholde feltnavne osv. da jeg mener dette er hensigtsmæssigt.
2. Jeg har de nye data liggende i formatet "DataSet". Hvordan får jeg på nemmeste måde smidt alle informationerne fra dette dataset ned i databasen vha. ADO.NET?
Det kan godt være at pkt. 1 ikke vil fungere som jeg har beskrevet det - I må gerne rette løsningen til - bare jeg kan lægge indholdet af mit DataSet ned i en database.
TRUNCATE... sletter den indholdet, og bibeholder "rammerne"?
Ved du så også hvordan jeg lægger indholdet af et DataSet ind i tabellen? Hvordan gøres det nemmest? Er jeg nødt til "manuel" at løbe indholdet af DataSet'et igennem, og på den måde fylde databasen. Er der ikke en nem måde i .NET hvor man vha. indbygget kode kan lægge indholdet ned på?
Det drejer sig om op mod flere hundrede tusinde felter der skal opdateres, og jeg tror derfor, at det ville kræve for mange ressourcer at skulle "løbe" dem alle igennem og enkeltvist indsætte dem i databasen.
Ok. Databasen (SQL Serveren) er i øjeblikket 100% tom. Der er hverken tabeller eller noget. Hvis det er, kan jeg godt oprette en tabel der har samme feltnavne som den jeg lægger derned. Efter 1. gang at have lagt data ned, vil der jo være noget.
Strukturen af mit dataset er lidt svag. DataSet'et er i forvejen genereret udfra en XML-fil, og denne XML-fil er genereret udfra en SQL-sætning der sammenfatter data fra 2 andre tabeller. Det er ligemeget med de 2 tabeller nu. Det er KUN indholdet af det nye DataSet der er interessant for mig. Problemet er kort opridset:
Jeg har et DataSet. Jeg skal have indholdet lagt ned i en database.
Databasen er tom nu. Strukturen af de data der skal lægges ned er:
Jeg har aldrig prøvet det, men vil jeg tro at du skal have en SqlDataAdapter, bruge fill til at loade dine data ind i data sættet og så update til at gemme i databasen med.
Ja, jeg læste godt noget om det på MSDN. Det virker bare dumt, først at skulle benytte .Fill(DataSet), når jeg allerede har de data, der skal lægges i databasen. Jeg kigger lige på det.
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.