SQL result til Array

Tags:    .net

Hej udviklere...

Jeg er ret ny i C#, men kan alligevel en del :)

Nå men, jeg sidder og koder lidt med en SQL db og har brug for at få mit resultat ud i et array. er der nogen logisk måde at gøre dette på?

Lige nu sker der
1. jeg først counter mit resultat og opretter et array
2. jeg henter mit resultat med reader.Read() og indsætter i mit array.

Findes der ikke en metode at gøre det direkte på ?

Hilsen Kenneth :)



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Datareaderen er fin at starte med, men har også en helvedes masse ulemper som at den kræver en åben forbindelse til databasen, data kan kun "fremaf" læses mm, men der findes et hav af bedre alternativer. Jeg er måske ikke manden med det bedste, men tag et smut forbi, sqldataadapter og dataset, så kan vi tale videre:

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter(VS.80).aspx

Så har du dit resultat fra sql, i et dataset, et mere "håndgribeligt" object, der kan bruges til datasource til de forskellige webcontrols, eller give lettere tilgang til data fra SQL kaldet, det er sikkert noget gammeldags halløj jeg pakker dig på, mange vil nok fortrække linq osv, men prøv dig først frem med dataset, og forståelsen heraf, samt et ordentligt udtræk fra DB.

Her er mere om datasettet:

http://msdn.microsoft.com/en-us/library/system.data.dataset(VS.80).aspx

Det letter måske forståelsen hvis jeg siger et dataset kan eje datatabeller som kan eje data rækker, så et typisk kald med et returneret dataset efter data vil være :

string s = dataSet.Tables[0].Columns["Sqlcolonnenavn"].ToString();
)

Jeg siger .Tables[0] blot for at ramme den første tabel, der kan være flere og de kan navngives som vist i eksemplet på msdn

/J



Indlæg senest redigeret d. 23.03.2009 22:27 af Bruger #5789
Hvorfor er det helt præcist at du skal have det ned i et array? Du kan jo smide det i en List og derefter konvertere denne til et array.

Er det muligt for dig, at smide evt. et array af entiteter der afspejler SQL-database tabellen videre?

Du kan gøre det at du laver udtrækket til en datareader, smider den ind i en while-løkke, tager hvert af udtrækkene og gemmer som en entitet og gemmer hver entitet i en List. Derfra kan du lave listen om til et array...



Her jeg fandt et fornuftigt eksempel:

http://www.java2s.com/Tutorial/CSharp/0560__ADO.Net/LoopthroughDataTablebyDataRow.htm

Sådan ville jeg gøre, men hvis data skal præsenteres på web må du ikke behandle datasettet yderligere, så foreslår jeg du binder det til en af de mange webcontrols, og laver din præsentation i frontenden frem for at styre interaktion backend.



Hej Jokke...

Jeg har læst lidt på det stof som du har givet mig.
Dog ligger problemet lidt i, at jeg er nød til at konventere det til et Array bagefter, da jeg anvender et 3 parts produkt til behandling af mine data.

Jeg ved ikke hvordan C# virker med hensyn til SQL og Arrays, men i PHP findes der en funktion til at smide dataen direkte i et array, findes den selv ikke med C#?



t