Avatar billede doncarnage Nybegynder
02. december 2008 - 22:19 Der er 6 kommentarer og
2 løsninger

Tælle antal rækker i tabel og udskrive i fx en label

Godaften..

Jeg er i den situation at jeg har lavet et simpelt system, hvor jeg går hen og henter noget indhold ud fra min database.. Jeg vil så gerne have den til at hente antal rækker, der er i tabellen og udskrive det antal i eksempelvis en label.. Hvordan gør jeg det?

Det skal måske lige siges at jeg er forholdsvis ny indenfor sproget :)

Min codebehind ser i grundtræk ud som nedenstående:

    protected void Page_Load(object sender, EventArgs e)
    {

            OleDbConnection MyConnection = new OleDbConnection();

            MyConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|xxx.mdb";
           
            string strSQL = ("SELECT * FROM xxx");

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

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

                while (objDataReader.Read() == true)
                {
                    // Her udskrives en masse indhold fra databasen i labels vha. objDataReader["xxx"]
                }

                objDataReader.Close();

            }
            catch (Exception exept)
            {
                Response.Write(exept);
            }

            MyConnection.Close();
  }
Avatar billede arne_v Ekspert
02. december 2008 - 22:34 #1
string strSQL = ("SELECT * FROM xxx");

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

            try
            {
                MyConnection.Open();
                objDataReader = objCommand.ExecuteReader();
                int n = 0;
                while (objDataReader.Read() == true)
                {
                    // Her udskrives en masse indhold fra databasen i labels vha. objDataReader["xxx"]
                    n++;
                }

                objDataReader.Close();

                countlabel.Text = n.ToString();

eller

            string strSQL = ("SELECT COUNT(*) FROM xxx");

            OleDbCommand objCommand = new OleDbCommand(strSQL, MyConnection);
           
            countlabel.Text = ((int)objCommand.ExecuteScalar()).ToString();

alt afhaengig af hvad du vil.
Avatar billede arne_v Ekspert
02. december 2008 - 22:34 #2
ioevrigt boer du nok bruge repeater fremfor label til at udskrive de regulaere daa !
Avatar billede kalp Novice
02. december 2008 - 22:34 #3
1. string strSQL = ("SELECT count(*) FROM xxx");
2.

while (objDataReader.Read())
                {
                  label.Text =  objDataReader[0].ToString();
                }
Avatar billede doncarnage Nybegynder
03. december 2008 - 07:29 #4
Hvorfor bør jeg bruge repeater fremfor labels til det :) ?

Jeg brugte i øvrigt kalp's metode, og den virker som den skal.. Men er det i orden at jeg deler points mellem jer?
Avatar billede kalp Novice
03. december 2008 - 08:24 #5
selvfølgelig er det i orden=)
Avatar billede arne_v Ekspert
03. december 2008 - 17:35 #6
En repeater er beregnet til at udskrive flere raekker med - det er en label ikke.
Avatar billede arne_v Ekspert
03. december 2008 - 17:35 #7
Her er svar fra mig og hvis kalp saa ogsaa smider et svar, saa kan du acceptere.
Avatar billede kalp Novice
03. december 2008 - 18:17 #8
=)
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