[C# -> ASP.NET] DataSet in andere klasse gebruiken

Pagina: 1
Acties:

  • TricTrac
  • Registratie: November 2000
  • Laatst online: 06-10-2025
Ik ben vrij nieuw met C# en ik heb het gevoel dat dit vrij basis is. Helaas heb ik op dit moment niet de luxe om even wat tijd uit te trekken om C# helemaal onder de knie te krijgen.
Mijn probleem is volgens mij heel simpel op te lossen maar ik kan de oplossing niet vinden. Zit hier ook al een aardig tijdje op te klooio-en.
Ik heb één klasse waarin connectie wordt gemaakt (clsDatabaseServer.cs) met een access database. Hierin wordt daarna een dataset aangemaakt welke gevuld wordt met de resultaat van de query. De inhoud van m'n dataset wil ik gebruiken in m'n *.aspx(.cs) pagina om zo een tabel te vullen.

Ik kan in mijn DatabaseServer klasse alles gewoon netjes uitlezen dus met de connectie en het ophalen van de gegevens is niks mis. Ik weet alleen niet hoe ik nu de DataSet over kan hevellen naar mijn *.aspx(.cs) pagina.

Mijn vraag is dus hoe ik die DataSet over kan krijgen van m'n clsDataServer.cs naar m'n *.aspx.cs zodat ik bijvoorbeeld met iets als foreach de DataSet uit kan lezen.

Mochten er makkelijkere oplossingen zijn dan zijn die uiteraard welkom! Ik ben hier iig al een tijdje op aan het klooio-en en kom er niet uit..

De code:
clsDataServer.cs
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
                    string conString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbLocation;

                    string query;
                    
                    query = "SELECT * FROM link";

                  

                    OleDbConnection myConnection = new OleDbConnection();
                    myConnection.ConnectionString = conString;
                    myConnection.Open();

                    OleDbDataAdapter m_daDataAdapter = new OleDbDataAdapter();
                    m_daDataAdapter = new OleDbDataAdapter(query, myConnection);

                    DataSet m_dtLinks = new DataSet();
                    m_daDataAdapter.Fill(m_dtLinks);
                    
                    return m_dtLinks;


*.asp.cs
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    protected void Page_Load(object sender, EventArgs e)
    {
        clsDatabase db1 = new clsDatabase();
        clsDatabaseServer db2 = new clsDatabaseServer();
        string test1;
        object test2;
        DataSet m_dtLinks;
        

        m_dtLinks = db2.ReadMyData();
        test1 = db1.databaseLocation();
        test2 = db2.ReadMyData();
        string test3;
        test3 = test2.ToString();
        foreach (DataTable table in m_dtLinks.Tables)
        {
            foreach (DataRow row in table.Rows)
            {
                string test5 = "gelukt";

            }

        }

    }


Al die test variabelen worden overigens opgeruimt zodra ik het hele spul aan het werk heb ;)

Bij de bovenstaande code krijg ik de volgende foutmelding:
code:
1
Error   3   Kan type object niet impliciet converteren naar System.Data.DataSet. Er bestaat een expliciete conversie (ontbreekt er een conversie?)  D:\Web development\Plantekstviewer\Eerste concept\Default.aspx.cs   24  21  D:\...\Eerste concept\

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 20:02

mulder

ik spuug op het trottoir

Wat geeft de functie ReadMyData terug?

oogjes open, snaveltjes dicht


  • TricTrac
  • Registratie: November 2000
  • Laatst online: 06-10-2025
Don Facundo schreef op maandag 08 mei 2006 @ 10:25:
Wat geeft de functie ReadMyData terug?
De return uit clsDatabaseServer.cs:
code:
1
2
3
4
                    DataSet m_dtLinks = new DataSet();
                    m_daDataAdapter.Fill(m_dtLinks);
                    
                    return m_dtLinks;


De gevulde DataSet dus als het goed is..

[ Voor 23% gewijzigd door TricTrac op 08-05-2006 10:30 ]


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 20:02

mulder

ik spuug op het trottoir

Je propt ergens een object met Type X in een object met Type DataSet, en je doet geen Cast, of die is niet mogelijk. Voor de rest is het koffiedik kijken zonder regelnummers en relevante code.

oogjes open, snaveltjes dicht


  • TricTrac
  • Registratie: November 2000
  • Laatst online: 06-10-2025
Pfff.. wat stom.. heb de oplossing..

Omdat ik in het begin andere manieren heb geprobeert stond de methode verkeerd gedefinieerd. Hij stond gedefinieerd als object:
code:
1
    public object ReadMyData()

in plaats van
code:
1
   public DataSet ReadMyData()


Topic kan dicht!
Bedankt voor de tip Don Facundo :)
Zag ineens het licht _/-\o_

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 23:40
Dit soort compiler errors zijn er met een beetje basiskennis van C# al uit te halen. Raad je aan om er toch iets verder in te duiken.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • ZeroCode
  • Registratie: Februari 2002
  • Laatst online: 07-01 13:42

ZeroCode

Woopie

farlane schreef op maandag 08 mei 2006 @ 12:37:
Dit soort compiler errors zijn er met een beetje basiskennis van C# al uit te halen. Raad je aan om er toch iets verder in te duiken.
Ahhh ja je leest er soms gewoon overheen :) kan iedereen gebeuren...
Pagina: 1