Avatar billede maddragon Nybegynder
20. oktober 2008 - 08:26 Der er 8 kommentarer og
1 løsning

0 check problem

hej jeg er stadig lidt grøn med C# så jeg kender stadig ikke alle metoder funktioner den har at byde på men mit problem er at jeg skal have lavet et check for om der 0 rows når den køre denne.

public string getraidsignedstats(int id)
    {

        MySqlCommand objcmd = new MySqlCommand("select sum(fldsigned) AS totalsigned from tblsigning group by fldraidplanid having fldraidplanid =" + id);

        if (objcon.getdata(objcmd).Rows[0]["totalsigned"].ToString() == null)
        {
            return "0";
        }
        else
        {
            return objcon.getdata(objcmd).Rows[0]["totalsigned"].ToString();
        }
    }

som i kan se så har jeg prøvet gør det med in if sætning som checker om den er null men det virker ikke helt sikkert fordi det er rows jeg skal checke om er null men jeg ved ikke hvordan det kan lade sig gøre

er der nogen der ude der evt kan give en eksempel på hvordan man kan check om rows er 0 eller ikke har nogen rows i row 0

så vil det være god hjælp til mig.

mvh. jens Simonsen
Avatar billede kalp Novice
20. oktober 2008 - 09:31 #1
Avatar billede kalp Novice
20. oktober 2008 - 09:33 #2
så umiddelbart skal du benytte en MySqlDataReader
og så gætter jeg på den har en property "HasRows"
og derfor bør du kunne skrive:

if (!objcon.HasRows) return "0";
     

hvis vi antager at objcon  er en MySqlDataReader  og ikke en database forbindelse:)
Avatar billede maddragon Nybegynder
20. oktober 2008 - 10:13 #3
objconn ser så ledes ud med den som køre select statements

public DataTable getdata(MySqlCommand sql)
    {
        DataSet objds = new DataSet();

        MySqlDataAdapter objda = new MySqlDataAdapter();
        sql.Connection = objconn;
        objda.SelectCommand = sql;

        objda.Fill(objds);
        objconn.Close();
        return objds.Tables[0];
    }

så nej den bruger ikke datareader og det er på grund af min uddannelse siger ikke må af en eller anden grund syndes de at datreaders ikke er så gode at bruge :S men jeg vil kigge på linket se om jeg kan adaptere det .
Avatar billede kalp Novice
20. oktober 2008 - 10:19 #4
if (objcon.getdata(objcmd).Rows == null)
        {
            return "0";
        }


så skal du gøre sådan
Avatar billede maddragon Nybegynder
20. oktober 2008 - 10:32 #5
tak kalp det fik det til at køre jeg ikke hvorfor min uddannelse ikke vil bruge datareaders da de ikke lige har givet noge spicifik grund til det  ikke andet den var ikke så god at bruge.

men tak for hjælpen hvis skriver det som svar så skal jeg acceptere så du får pointsne.


mvh. jens
Avatar billede kalp Novice
20. oktober 2008 - 10:43 #6
=)

måske fordi mange af .NET indbyggede controller kan tage imod en DataTable/DataSet:)
jeg benytter ikke de indbyggede kontroller selv, så ved ikke om de kan tage imod en datareader også - men det tvivler jeg på.

Derfor tror jeg forklaringen er, at din uddannelse er glade for DataSet og DataTable's fordi de bla. er kompatible med de indbyggede kontroller:)
og fordi det er .NETS måde og håndtere arbejde med databaser hvor en datareader minder om den gamle måde.
Avatar billede arne_v Ekspert
20. oktober 2008 - 21:53 #7
Hvilke kontroller kan man ikke saette DataSource til en DataReader ?
Avatar billede arne_v Ekspert
20. oktober 2008 - 21:54 #8
Og til serioes .NET tror jeg at der bliver brugt mere DataReader end DataSet.
Avatar billede kalp Novice
20. oktober 2008 - 22:53 #9
arne_v >>

Jeg benytter, som sagt ikke de indbyggede kontroller, så derfor skriver jeg også at jeg ikke ved om de kan tage imod en SqlDataReader.
Men tager jeg en bog om .NET vil dens eksempler være med DataSet, DataTables fordi uanset om SqlDataReader'en bliver anvendt til de seriøse .NET opgaver, så er DataSet's og DataTable's egentlig .NET's måde og håndtere database access med.
(og man må antage, at det årsagen til de benytter det på hans uddannelsessted).

Jeg benytter selv kun SqlDataReader til alle mine projekter og i de størrer systemer jeg har været inde over har jeg heller aldrig set DataSet's blive anvendt.

Det selvfølgelig lidt komisk, at de blacklister SqlDataReaderen hvis de, som argument blot har sagt den er dårlig.
Derfor håber jeg lidt på, at de har haft nogle argumenter og, at der blot var en elev, som ikke fik hørt ordenlig efter:)
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