Avatar billede cliffha Nybegynder
02. marts 2011 - 09:32 Der er 2 kommentarer og
1 løsning

Hent antal rows fra ms sql database

Hej

Jeg skal have hentet et antal af rækker ud fra databasen som opfylder mine krav i mit where statement.
Jeg bruger stored procedure, og har fundet ud af at ved at bruge count(*), kan få rækkerne ud, men jeg ved ikke hvad kolonnen hedder når jeg skal hente dataen i Visual studio.

Min stored procedure ser sådan ud:

@VagtassistentInitialer varchar(15),
AS
SELECT  count(*)  FROM "tabel" Where "noget skal opfyldes"


Min kode i c# for at hente dataen ud:
if (rdr.Read())
            {
                count = rdr.GetInt32(rdr.GetOrdinal("count"));
             
            }

Hvad hedder kolonnen jeg skal hente daten fra?
Eller skal jeg tage og bruge output variabel i stedet?
Avatar billede aaberg Nybegynder
02. marts 2011 - 09:38 #1
Du kan i din query give kolonnen et alias. Sådan:

SELECT  count(*) antal  FROM "tabel" Where "noget skal opfyldes"

Nu kan du hente det fra koden, med kolonnenavn "antal".

count = rdr.GetInt32(rdr.GetOrdinal("antal"));
Avatar billede cliffha Nybegynder
03. marts 2011 - 14:53 #2
Hej aaberg

Nu spiller det bare, mange tak for hjælpen.

Er der noget der er hurtigere til at hente ud hvor mange rækker der opfylder mine krav end at bruge count(*)?
Avatar billede aaberg Nybegynder
03. marts 2011 - 15:03 #3
Nej. Count er den hurtigste og eneste måde. Den eneste alternative måde jeg kan komme i tanke om, er at hente rækkerne ind i dit program, og tælle dem der, men det vil være meget langsommere.
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