Avatar billede page Nybegynder
10. januar 2009 - 14:51 Der er 1 kommentar og
1 løsning

Hente Datalist fra en anden class?

Hey,

Jeg har tidligere forsøgt at finde en løsning på hvordan jeg benytter en Datalist fra en class til en anden, men uden held.

Jeg har f.eks. en funktion der henter de seneste nyheder fra databasen. Og for at undgå at duplikere koden igen og igen tænkte jeg at jeg ville lave en class hvor datalisten bliver oprettet og så henter de øvrige classes den derfra.

Er det helt sort?

Håber i kan hjælpe mig.

mvh
Page
Avatar billede websmith Nybegynder
12. januar 2009 - 22:37 #1
Du skal lave en klasse. Nu ved jeg ikke om det er vb.net eller c# du bruger, men du kunne fx. lave:
public class NewsReader
    {
        /// <summary>
        /// Gets the latest 5 news items
        /// </summary>
        /// <returns></returns>
        public DataTable GetLatestNews()
        {
            const string sql = "SELECT top 5 id, headline, post_date from news ORDER BY post_date DESC";
            SqlCommand cmd = new SqlCommand("sql");
            using(SqlConnection conn = new SqlConnection("Din connectionstring"))
            {
                DataTable dt = new DataTable();
                cmd.Connection = conn;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt);
                return dt;
            }
        }
    }

Noget alá dette. Jeg plejer at bruge et hjemmebygget framework til database adgang som bruger SqlReaders, men hvis du laver noget ala ovenstående, så kan du bare på dine sider som skal have nyhederne ud lave:

NewsReader nr = new NewsReader();
//Hent 5 sidste nyheder
DataTable latestNews = nr.GetLatestNews();

Klassen kan du så enten placere i App_Code eller i sit eget projekt som du så refererer fra dit website.

Jeg håber det gav dig lidt inspiration
Avatar billede page Nybegynder
15. januar 2009 - 19:41 #2
hmm jeg kan ikke få det til at spille.

Nu skal det siges at det er vb.net jeg bruger.. Lige pt. ser min klasse kald således ud:
--------------------------------------------------------
Public Class classTest
Protected WithEvents dtTest As System.Web.UI.WebControls.DataList

Public Sub Page_Load(Sender As Object,E As EventArgs) Handles Me.Load
    subTest()
End Sub

Sub subTest()

    '1. Create a connection
    Dim conn As New MySql.Data.MySqlClient.MySqlConnection
    Dim myConnectionString as String
   
    '2. Create the command object, passing in the SQL string
    myConnectionString = "server=db.xxx.dk;" _
                        & "uid=xx;" _
                        & "pwd=xx;" _
                        & "database=xx;"
   
    Try
        conn.ConnectionString = myConnectionString
        conn.Open()
       
        'Set the datagrid's datasource to the datareader and databind
        Dim sql As String = "SELECT * FROM tblNews ORDER BY id DESC"
       
        Dim cmd As MySqlCommand = new MySqlCommand(sql, conn)
           
        Dim reader As MySqlDataReader = cmd.ExecuteReader()
           
        dtTest.DataSource=reader
       
        dtTest.DataBind()
       
        reader.Close()
                                   
        conn.Close()   
        Catch ex As MySql.Data.MySqlClient.MySqlException
        response.write (ex.Message)
    End Try       
End Sub
End Class
---------------------------
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



IT-JOB

Saab Danmark A/S

Senior Software Developer

Politiets Efterretningstjeneste

Bliv AD-specialist hos PET

Kalundborg Kommune

Data Scientist / udvikler

Københavns Professionshøjskole

Nytænkende og agil IT-projektleder