Avatar billede websam Nybegynder
19. maj 2005 - 09:03 Der er 7 kommentarer og
1 løsning

Dataset fra en class til en anden ?

Hejsa,

jeg har lavet et dataset i en class med følgende function :

Public Shared Function NewsShowAll()
    Dim objConn As SqlConnection = DbClass.SqlConnect
    Dim objComm As SqlCommand = New SqlCommand("Select Headline, TheDate From tbl_news Order By NewsId", objConn)
    Dim objDataAdapter As SqlDataAdapter = New SqlDataAdapter
    objDataAdapter.SelectCommand = objComm
    Dim objDataSet As DataSet = New DataSet
    Return objDataAdapter.Fill(objDataSet)
End Function

jeg er ikke helt sikker på hvordan jeg får dette dataset over i en anden class hvor der valideres for til sidst at loades i et datagrid på en aspx side.

En der kan hjælpe med dette ?

/Websam
Avatar billede agertoft Nybegynder
19. maj 2005 - 10:37 #1
Du laver en metode som returnerer et dataset:

public DataSet NewsShowAll()
{
  ...
  DataSet objDataSet = new DataSet();
  objDataAdapter.Fill(objDataSet, "news");

  return objDataSet;
}

Så kalder du det fra dit businesslag og gør brug af dine regler og returnerer datasettet til dit præsentationslag og databinder det til dit datagrid.
Avatar billede websam Nybegynder
19. maj 2005 - 11:06 #2
den "news" du skriver i denne :

objDataAdapter.Fill(objDataSet, "news");

indikere det tabellen i databasen ?

/Websam
Avatar billede agertoft Nybegynder
19. maj 2005 - 11:21 #3
Det indikerer tabellen i dit DataSet ;)

Du kan have flere tabeller i dit DataSet. Når du så skal databinde datasettet til din for eksempel datagrid, kan du binde på dataset'ets enkelte tabel:

DataGrid mitDataGrid = new DataGrid();
mitDataGrid.DataSource = objDataSet.Tables["news"];
mitDataGrid.DataBind();
Avatar billede websam Nybegynder
19. maj 2005 - 11:26 #4
Og hvordan vil koden se ud hvis jeg havde flere tabeller i mit dataset ?

/Websam
Avatar billede agertoft Nybegynder
19. maj 2005 - 11:41 #5
Nu koder jeg ikke VB selv, men C#.. men jeg vil tro du kan gøre sådan her:

Public Shared Function NewsShowAll()
    Dim objConn As SqlConnection = DbClass.SqlConnect
    Dim objComm As SqlCommand = New SqlCommand("Select Headline, TheDate From tbl_news Order By NewsId", objConn)
    Dim objDataAdapter As SqlDataAdapter = New SqlDataAdapter
    objDataAdapter.SelectCommand = objComm
    Dim objDataSet As DataSet = New DataSet
    objDataAdapter.Fill(objDataSet, "news")
 
    'Ny tabel i dataset
    objComm.CommandText = "ditsqlstrengher"
    objDataAdapter.Fill(objDataSet, "users")

    Return objDataSet
End Function

Princippet er, at du laver en objDataAdapter.Fill(ditdataset, "tabelnavn") hver gang, du ønsker at fylde dit dataset.
Avatar billede agertoft Nybegynder
19. maj 2005 - 11:42 #6
..med en ny tabel altså ;)
Avatar billede websam Nybegynder
19. maj 2005 - 11:53 #7
Ok så er jeg med der er tale om 2 sql sætninger så giver det lidt mere mening :o) smid et svar.

/Websam
Avatar billede agertoft Nybegynder
19. maj 2005 - 11:56 #8
Svar :)
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