Avatar billede trumf Nybegynder
27. december 2005 - 02:20 Der er 6 kommentarer og
1 løsning

select variabel

Hejsa E

Kan nogen fortælle hvorfor nedenstående stored procedure ikke giver nogle resultater. (det virker når jeg henter enkeltvis)

        DECLARE _antalVine INT;
        DECLARE _antalAnmeldelser INT;
        DECLARE _antalVineAnmeldt INT;
        DECLARE _antalBrugere INT;
        DECLARE _antalVinePic INT;

        SELECT COUNT(guid) = _antalVine FROM vin WHERE godkendt = 'on';
        SELECT COUNT(karakterID) = _antalAnmeldelser FROM karakterer WHERE beskrivelse <> '';
        SELECT COUNT(guid) = _antalVineAnmeldt FROM vin WHERE godkendt = 'on' AND ikkeanmeldt = 'off';
        SELECT COUNT(brugerID) = _antalBrugere FROM brugere;
        SELECT COUNT(guid) = _antalVinePic FROM vin WHERE harbillede = 'on';

        SELECT _antalVine AS antalVine, _antalAnmeldelser AS antalAnmeldelser, _antalVineAnmeldt AS antalVineAnmeldt, _antalBrugere AS antalBrugere, _antalVinePic AS antalVinePic;

Denne linie fejler:
antalVine = reader["antalVine"].ToString();

System.IndexOutOfRangeException: Could not find specified column in results at MySql.Data.MySqlClient.MySqlDataReader.GetOrdinal(String name) at MySql.Data.MySqlClient.MySqlDataReader.get_Item(String name) at main_frontpage.Page_Load(Object sender, EventArgs e)

På forhånd tak :)
Avatar billede thesurfer Nybegynder
27. december 2005 - 02:24 #1
Hmm.. skal det ikke være?:

Select COUNT(noget) as variabelnavn

.. hele vejen ned..

/theSurfer
Avatar billede thesurfer Nybegynder
27. december 2005 - 02:25 #2
Select COUNT(noget) as variabelnavn ...

hvor "..." f.eks. er: from TabelNavn where Noget = Andet

/theSurfer
Avatar billede trumf Nybegynder
27. december 2005 - 06:57 #3
Nu har jeg prøvet at gøre det på alle leder og kanter uden held...

DELIMITER $$

DROP PROCEDURE IF EXISTS `vinguide`.`P_GetFrontPageData` $$
CREATE PROCEDURE `P_GetFrontPageData`()
BEGIN
        DECLARE _antalVine INT;
        DECLARE _antalAnmeldelser INT;
        DECLARE _antalVineAnmeldt INT;
        DECLARE _antalBrugere INT;
        DECLARE _antalVinePic INT;
        DECLARE _antalSletBrugere INT;
        DECLARE _antalIkkeGodAnmeld INT;
        DECLARE _antalIkkeGodVine INT;
        DECLARE _antalNewUsersToday INT;

        SELECT COUNT(guid) AS _antalVine FROM vin WHERE godkendt = 'on';
        SELECT COUNT(karakterID) AS _antalAnmeldelser FROM karakterer WHERE beskrivelse <> '';
        SELECT COUNT(guid) AS _antalVineAnmeldt FROM vin WHERE godkendt = 'on' AND ikkeanmeldt = 'off';
        SELECT COUNT(brugerID) AS _antalBrugere FROM brugere;
        SELECT COUNT(guid) AS _antalVinePic FROM vin WHERE harbillede = 'on';
        SELECT COUNT(brugerID) AS _antalSletBrugere FROM brugere WHERE info = 'slt';
        SELECT COUNT(guid) AS _antalIkkeGodAnmeld FROM vin WHERE godkendt <> 'on' AND ikkeanmeldt = 'off';
        SELECT COUNT(guid) AS _antalIkkeGodVine FROM vin WHERE godkendt <> 'on';
        SELECT COUNT(brugerID) AS _antalNewUsersToday FROM brugere WHERE CAST(oprettet AS DATE) = CURDATE() GROUP BY CAST(oprettet AS DATE);

        SET _antalNewUsersToday = 0;

        SELECT _antalVine AS 'antalVine', _antalAnmeldelser AS 'antalAnmeldelser', _antalVineAnmeldt AS 'antalVineAnmeldt', _antalBrugere AS 'antalBrugere', _antalVinePic AS 'antalVinePic', _antalSletBrugere AS 'antalSletBrugere', _antalIkkeGodAnmeld AS 'antalIkkeGodAnmeld', _antalIkkeGodVine AS 'antalIkkeGodVine', _antalNewUsersToday AS 'antalNewUsersToday';
END $$

DELIMITER ;

Nu kan jeg ikke se lige længere...
Avatar billede arne_v Ekspert
27. december 2005 - 14:29 #4
umiddelbart vil jeg mene at du:


SELECT COUNT(guid) AS _antalVine FROM vin WHERE godkendt = 'on';
SELECT COUNT(karakterID) AS _antalAnmeldelser FROM karakterer WHERE beskrivelse <> '';
...

åbner en SqlConnection
kalder din SP via en SqlCommand
kalder ExecuteReader
kalder reader Read
henter reader["_antalVine"]
kalder reader NextResult for at skifte til næste result set
kalder reader Read
henter reader["_antalAnmeldelser"]
...
Avatar billede trumf Nybegynder
27. december 2005 - 15:06 #5
Og lægger du et svar arne ?
:)
Avatar billede arne_v Ekspert
27. december 2005 - 22:52 #6
gerne

det virkede ?
Avatar billede trumf Nybegynder
28. december 2005 - 00:08 #7
Jep, det virkede som altid når du svarer :)
God bagjul
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
Computerworld tilbyder specialiserede kurser i database-management

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