Avatar billede mandenmedplanen Nybegynder
29. januar 2009 - 21:28 Der er 4 kommentarer

smarteste måde til genbrug af kode

Jeg ahr følgende stykke kode der tæller antal film i en genre fra en database. problemet er at jeg har 14 forskellige genre og gerne vil undgå at skulle lave nedenstående for hver enkelt af disse optællinger - kan det lade sig gøre at "genbruge" nedenstående kode til dette formål og i givent fald hvordan?

public partial class MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        OleDbConnection MyConnection = new OleDbConnection();
        MyConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|FilmDB.mdb";
        string strSQL1 = "Select COUNT (*) as AntalAction from FilmTabel WHERE Genre='Action'";

        OleDbCommand objCommand = new OleDbCommand(strSQL1, MyConnection);
        OleDbDataReader objDataReader = null;

        try
        {
            MyConnection.Open();
            objDataReader = objCommand.ExecuteReader();

            while (objDataReader.Read() == true)
            {
                lblAction.Text = "Action (" + Convert.ToString(objDataReader["AntalAction"]) + ")";
            }
            MyConnection.Close();
            objDataReader.Close();
        }

        catch (Exception exept)
        {
          Convert.ToString(exept);

        }
    }
}
Avatar billede erikjacobsen Ekspert
29. januar 2009 - 21:35 #1
Du kan kigge på GROUP BY i SQL.
Avatar billede erikjacobsen Ekspert
29. januar 2009 - 21:36 #2
Avatar billede mandenmedplanen Nybegynder
29. januar 2009 - 21:55 #3
Jeg synes umiddelbart ikke det dækker mit behov for at tælle ved hver genre. Jeg har følgende menu opsætning og der er som sagt 14 genre og en GROUP BY synes jeg ikke jeg kan få til at tælle i hver menupunkt.

<li><a href="Default.aspx?genre=Action"><asp:Label ID="lblAction" runat="server" Text=""></asp:Label></a></li>

Måske er det bare mig der er en nød
Avatar billede erikjacobsen Ekspert
29. januar 2009 - 22:05 #4
Nu ved jeg ikke hvad det er du vil. Men start med at prøve

  Select genre, COUNT (*) as antal from FilmTabel GROUP BY genre

i fx. phpmyadmin, og se resultatet. Så kan du senere få det ind i dit program.
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