Avatar billede hopir Novice
30. oktober 2012 - 15:28 Der er 7 kommentarer og
1 løsning

pakke sql udtræk i et objekt og sende til en anden klasse

Hejsa.

Jeg har 3 klasser gui logik og dal. jeg skal lave et simpelt udtræk fra en sql database med sqldatareader. jeg har oprettet metoden i min logikklasse, men da jeg ikke vil have udskrift i den, vil jeg godt pakke udtrækket til et objekt og sende det over i min gui og vise det der. er der nogle der kan vise mig hvordan det skal gøres ?

min metode i logik klassen:

        public void getData()
        {

        con = new SqlConnection("user id=XXXXXX;" + "password=XXXXXX;server=localhost;" + "Trusted_Connection=yes;" + "database=testdb; " + "connection timeout=30");

        SqlCommand cmd = new SqlCommand();

        cmd.CommandText = "SELECT * FROM test
        cmd.Connection = con;

        try
        {
            con.Open();
            SqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
              Console.WriteLine("{0} - {1}", reader.GetString(0), reader.GetString(1));
            }
            reader.Close();
        }
        finally
        {
            con.Close();
        }
        Console.ReadLine();
        }
Jeg ved godt at min sql connection skal ligge i dal klassen. men det kommer :)
Vh  :)
Avatar billede jokkejensen Novice
30. oktober 2012 - 15:33 #1
public SqlDataReader getData()
{
/// dit kode

return reader;

]
Avatar billede arne_v Ekspert
30. oktober 2012 - 15:56 #2
public class MyDal
{
    ...
    public List<Foobar> GetData()
    {
          ...
    }
    ...
}
Avatar billede hopir Novice
30. oktober 2012 - 15:58 #3
pas.. ved slet ikke hvor i vil hen /:
Avatar billede Syska Mester
30. oktober 2012 - 16:29 #4
I mål :-)

public IList<Tuple<string, string>> getData()
{
    var con = new SqlConnection("user id=XXXXXX;" + "password=XXXXXX;server=localhost;" + "Trusted_Connection=yes;" + "database=testdb; " + "connection timeout=30");

    SqlCommand cmd = new SqlCommand();

    cmd.CommandText = "SELECT * FROM test";
    cmd.Connection = con;

    List<Tuple<string, string>> list = new List<Tuple<string, string>>();
    try
    {
        con.Open();
        SqlDataReader reader = cmd.ExecuteReader();

        while (reader.Read())
        {
            list.Add(new Tuple<string, string>(reader.GetString(0), reader.GetString(1)));
        }
        reader.Close();
    }
    finally
    {
        con.Close();
    }

    return list;
}
Avatar billede Syska Mester
30. oktober 2012 - 16:30 #5
Men ville nok være lidt pænere med en klasse der siger noget om hvad det er vi arbejder med i stedet for en Tuple.

mvh
Avatar billede hopir Novice
12. november 2012 - 14:17 #6
buzzzz takker lige hvad jeg søgte.. smid et svar :)
Avatar billede Syska Mester
12. november 2012 - 14:55 #7
Svar
Avatar billede Syska Mester
12. november 2012 - 14:55 #8
Svar igen
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