Avatar billede jriff Nybegynder
21. februar 2005 - 16:09 Der er 2 kommentarer

OleDbDataAdapter og parametre

Hej Alle!

Jeg er ret ny i .NET, så der er lige noget jeg ikke helt forstår omkring dataadapters.

1) Man kan i VS.NET 2003 oprette en OleDbDataAdapter ved hjæp af en wizard - det er jo smart, for så behøver man ikke at skrive SQL selv. Men hvad gør man hvis man gerne vil have tilføjet eg. "where brugerID=" + Session["brugerID"] ?

Man må vel ikke rette i de SQL-statements VS.NET selv laver i koden, eller hvad?

2) Herudover kan jeg ikke rigtig få oprettet en OleDbDataAdapter hvor wizard'en selv laver Update, Insert og Delete-statements hvis mit query indeholder data fra flere tabeller. Er det rigtigt at det ikke kan lade sig gøre? Det er vel det der er hele idéen med et DataSet, eller hvordan?

3) Når jeg laver følgende:

DataSet ds=new DataSet();
OleDbDataAdapter myAdapter=new OleDbDataAdapter("select * from type",oleDbConnection1);
myAdapter.Fill(ds);
OleDbDataAdapter myAdapter2=new OleDbDataAdapter("select * from kommuner",oleDbConnection1);
ds.Tables.Add();
myAdapter2.Fill(ds.Tables[1]);

...virker det fint - jeg får to tabeller i mit DataSet, men hvis jeg fjerner ds.Tables.Add(); får jeg en fejl - er det ikke meningen at der automatisk skal oprettes en ny tabel i mit DataSet når man laver en Fill()?



Jeg ved godt at det var mange spørgsmål, men jeg håber I kan klare dem ;-)

- Jacob
Avatar billede jriff Nybegynder
10. marts 2005 - 15:20 #1
Anyone? Der MÅ være nogen der ved det?
Avatar billede burningice Nybegynder
24. marts 2005 - 19:36 #2
en dataadapter er fin til små ikke for komplekse ting, men kan ikke arbejde med f.eks. joins eller flere tabeller i et dataset (i så fald skal du definere navnet på den tabel dataadapteren skal arbejde på).

Jo, du kan sagtens gå ind og rette i koden for din select-statement, men så ryger hele ideen lidt med en adapter. Det er jo netop en 1:1 kopi af en tabel du har i databasen, så hvis du kun vælger nogen fra den er der potentiale for at noget går galt (plus at dine Update, Insert og Delete-commandoer enten også vil indeholde din where, eller også brokker CommandBuilderen sig og vil slet ikke lave dem).
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester