ASP.NET 3.5

Meget hurtig svar

Fin oversigt over mulighederne

Erling Jørgensen, Skat

ASP.NET 3.5

Muligheden for selv at planlægge undervisningsforløbet

De altid hurtige svar fra underviser

Erik Laursen, Skat

ASP.NET 3.5

Det har været rigtig godt med det fast forløb - opgave efter opgave

Der fungerer også godt at man selv kan disponerer over tiden så det kan passe ind i hverdagens

arbejde og derved brug meget tid på det man selv synes er svært.

Det virker rigtig godt med den direkte vejledning/problemløsning man får på mail når man er "kørt fast" i en øvelse

Mine svartider har været gode.

Erik Skou, Hedensted Tømmerhandel

ASP.NET 4.0

Det har været helt fantastisk at se den grønne status med "jeg er online" når jeg har logget ind for at køre videre på min undervisning, for så ved jeg at der er næsten øjeblikkelig hjælp, råd, vejledning og godkendelse på mine indsendte svar. Det betyder jeg har kunnet komme videre med det samme og ikke blot vente på evaluering over tid og jeg har haft mine svar i frisk hukommelse. Det har næsten været somom underviser har "kigget mig over skulderen" og været der under hele forløbet. Fordelen er at det har været på mine premisser, når _jeg_ har været klar og motiver

Jeg har oplevet rigtig god, professionel og hurtig vejledning og konstruktiv kritik under hele forløbet.

IT-Fjernundervisning kan klart anbefales.

Dennis Mathiesen, Elro

ASP.NET

Øvelserne har været gode de tvinger en til at tænke selv.

Henrik Obsen, Grenaa Tekniske Skole

ASP.NET MVC 5

Jeg er imponeret over hvor meget tid Thor brugte i starten på at opgradere sin server til seneste version og samtidig havde tålmodighed til at hjælpe så det hele spillede.

Han er desuden meget hurtig til at svare på spørgsmål og rette opgaver.

Vil helt klart overveje at tage endnu et kursus 

Jacob Nørgaard, Privat

ASP.NET 4.5

Der har altid faldet et hurtigt svar på spørgsmål, ligesom database problemer, der opstod undervejs, blev løst hurtigt og meget smidigt , uanset at det betød, at Thor måtte opgraderer sin SQL server.

Selvom jeg har stor erfaring med traditionel programmering, har Thor alligevel formået, at åbne mine øjne for den nye verden der er i webudvikling og det er helt sikkert, at fremtidens løsninger er her.
Kommer der et udvidet kursus i ASP.NET, så er jeg sikker på, at jeg vil være at finde blandt kursisterne.

Jeg har kun roser til IT-fjernundervisning, specielt til Thor.

Finn Hoelgaard
Datamatiker

Museum Vestsjælland

Finn Hoelgaard

ASP.NET 4.0

Jeg er imponeret over den måde kurset er sat op. Trin-for-trin og dejligt afvekslende med Try-It-Out og spørgsmål sidst i hver lektion. Indimellem virker det som om materialet var lavet lige netop til en type som jeg.

En anden ting var de mange unoder man efterhånden har raget til sig - de blev rettet på en lærerig måde.

Kan varmt anbefale kurset

Lennart Hansen, Dancar Autosikring ApS

< >
Se flere referencer

Dataset og DataTable

De fleste programører vil nok hurtigt kunne blive enige om at DataSet klassen er den mest brugte del af ADO.NET. DataSet klassen giver mulighed for at håndtere data uden at have adgang til den bagvedliggende database. Denne mulighed har der været i ASP.NET siden version 1.0 og i 3.5 har DataSet de samme muligheder plus nogle nye.

Et objekt dannet af DataSet klassen virker som en beholder for andre objekter, der dannet ud fra DataTable klassen. DataTable objektet repræsenterer en logisk data tabel i hukommelsen. Det indeholder rækker, kolonner, primær nøgler, relationer med andre DataTable objekter. Man kan derfor have et DataSet objekt bygget op af to tabeller f.eks. projekter og aktiviteter som i vores eksempeldatabase og ville kunne bruge det objekt præcis som man ville kunne bruge en "rigtig" database.

De fleste eksempler på database baseret programmering - uden direkte forbindelse til databasen -  er faktisk baseret på en eller flere DataTable objekter inden i et DataSet objekt. Tidligere versioner af ADO.NET tillod ikke arbejde direkte med DataTable objektet f.eks. i forbindelse med læsning og skrivning af data til XML. Det betød at alle operationer skulle gennem DataSet objektet. I version 3.5 (og 2.0) af .NET framework'et er denne begrænsning fjernet og man kan arbejde direkte på DataTable objektet. Det anbefales derfor at anvende DataTable klassen frem for DataSet med mindre der er behov for håndtering af flere tabeller med relationer. Nedenfor et eksempel på etablering af en DataTable udfra en DataReader:

using System.Data.SqlClient;

protected void Page_Load(object sender, EventArgs e)
{
    DataTable minDataTabel;
    SqlDataReader minReader;

    SqlConnection minForbindelse = new SqlConnection();
    minForbindelse.ConnectionString = 
        ConfigurationManager.ConnectionStrings["ASPNET35KursusConnectionString"].ToString();
    SqlCommand minKommando = new SqlCommand();
    minKommando.CommandText = "Select * from tblProjekter";
    minKommando.CommandType = CommandType.Text;
    minKommando.Connection = minForbindelse;
    minKommando.Connection.Open();
    minReader = minKommando.ExecuteReader(CommandBehavior.CloseConnection);

    minDataTabel = new DataTable();
    minDataTabel.Load(minReader);
    gvData.DataSource = minDataTabel;
    gvData.DataBind();

    minDataTabel.Dispose();
    minKommando.Dispose();
    minForbindelse.Dispose();
}

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim minDataTabel As DataTable
    Dim minReader As SqlDataReader


    Dim minForbindelse As SqlConnection = New SqlConnection()
    minForbindelse.ConnectionString = 
         ConfigurationManager.ConnectionStrings("ASPNET35KursusConnectionString").ToString()
    Dim minKommando As SqlCommand = New SqlCommand()
    minKommando.CommandText = "Select * from tblProjekter"
    minKommando.CommandType = CommandType.Text
    minKommando.Connection = minForbindelse

    minKommando.Connection.Open()
    minReader = minKommando.ExecuteReader(CommandBehavior.CloseConnection)

    minDataTabel = New DataTable()
    minDataTabel.Load(minReader)
    gvData.DataSource = minDataTabel
    gvData.DataBind()

    minDataTabel.Dispose()
    minKommando.Dispose()
    minForbindelse.Dispose()
End Sub

Ved godt at vi har set dette før, men håber det giver mening alligevel.

Når du har betalt for kurset får du adgang til øvelser til hver lektion. Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.