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 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

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

Henrik Obsen, Grenaa Tekniske Skole

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

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

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

< >
Se flere referencer

Grundlæggende ADO.NET

Nu har vi set, hvordan man med .NET kan binde data i en database til en stribe kontroller, der kan hjælpe med at vise og vedligeholde data. Det dækker rigtig mange behov, men der er altid et lille hjørne, som man bliver nødt til at håndkode. Og det er det vi nu skal kigge på.

Udvælg data

Jeg tror bare vi kaster os direkte ud i et eksempel, men for at det ikke skal virke for let laver vi en klasse, som vi kan bruge mange steder. Læs mere om klasser.
Start med at oprette en mappe til din klasse. Højreklik på dit projekt i Solution Explorer ude til højre og vælg "Add ASP.NET Folder" og tilføj en App_Code folder:

Dernæst kan du højreklikke på "App_Code" folderen og oprette en klasse:

 

using System.Data.SqlClient;
using System.Collections.Generic;

public class ADOKlasse
{
    public List<String> HentData()
    {
        SqlConnection conn;
        SqlCommand cmd;
        String cmdString = "Select * From tblProjekter";
        String conString = ConfigurationManager.ConnectionStrings["ASPNET35KursusConnectionString"].ToString();
        conn = new SqlConnection(conString);
        cmd = new SqlCommand(cmdString,conn);
        conn.Open();
        SqlDataReader minReader;
        List<String> returnData = new List<String>();
        minReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
        while (minReader.Read())
        {
            returnData.Add(minReader["txtBeskrivelse"].ToString());
        }
        return returnData;
    }
}
Imports System.Data.SqlClient
Imports System.Collections.Generic
Imports System.Data

Public Class ADOKlasse
    Public Function HentData() As List(Of String)
        Dim conn As SqlConnection
        Dim cmd As SqlCommand
        Dim cmdString As String = "Select * From tblProjekter"
        Dim conString As String = ConfigurationManager.ConnectionStrings("ASPNET35KursusConnectionString").ToString()
        conn = New SqlConnection(conString)
        cmd = New SqlCommand(cmdString, conn)
        conn.Open()
        Dim minReader As SqlDataReader
        Dim returnData As List(Of String) = New List(Of String)
        minReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
        While minReader.Read()
            returnData.Add(minReader("txtBeskrivelse").ToString())
        End While
        Return returnData
    End Function
End Class

 

Har du arbejdet med dataforbindelser i klassisk asp, er ovenstående nok ikke specielt svært at gennemskue. Der arbejdes med tre objekter - SqlConnection, SqlCommand og SqlDataReader. Den første bruges til at etablere forbindelse til databasen, den næste til at sende kommandoer til basen og endelig bruges SqlDataReader til udføre selve læsningen.

Bemærk at koden indeholder nogle Imports/Using, der forudsætning for at det kører som det skal.

Brug klassen

For at se om sådan en klasse virker efter hensigten skal vi etablere en aspx side. Hvis du laver én med en label og en knap kan nedenstående kode bruges:

using System.Collections.Generic;

public partial class ADO1 : System.Web.UI.Page
{
    protected void cmdHent_Click(object sender, EventArgs e)
    {
        ADOKlasse ProjektKlasse = new ADOKlasse();
        List<String> Projekter = ProjektKlasse.HentData(); 
        for (int i=0;i<=Projekter.Count-1;i++)
            lblResultat.Text += Projekter[i] + "<br/>";
    }
}
Protected Sub cmdHent_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdHent.Click
    Dim ProjektKlasse As ADOKlasse = New ADOKlasse()
    Dim Projekter As List(Of String) = ProjektKlasse.HentData()
    Dim i As Integer
    For i = 0 To Projekter.Count - 1
        lblResultat.Text += Projekter(i) + "<br/>"
Next End Sub

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.