Hop til teksten

IT FJERNUNDERVISNING
- IT kurser når Du har tid!

Parametre i relation til SQL

Stort set alle opgaver i relation til databaser indeholder behov for at bruge parametre i SQL sætninger. Brug af parameter giver desuden større sikkerhed i forhold til databasen.

At etablere en parameter er så simpelt som at deklarere en instans af SqlParameter klasse og fylde de nødvendige informationer på. Nedenfor en tabel med egenskaberne på SqlParameter klassen:

 Egenskab Beskrivelse
 ParameterName Et navn til parameteren
 SqlDbType Parameterens datatype
 Size Størrelsen
 Direction Retning - Input, Output, InputOutput
 SourceColumn Angiver hvilken kolonne i datatable objektet, parameteren påvirker
 Value Værdien af parameteren

Og et lille eksempel

using System.Data.SqlClient;

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        SqlDataReader minReader;
        SqlParameter paramProjektID = new SqlParameter();

        SqlConnection minForbindelse = new SqlConnection();
        minForbindelse.ConnectionString = 
            ConfigurationManager.ConnectionStrings["ASPNET35KursusConnectionString"].ToString();
        SqlCommand minKommando = new SqlCommand();
        minKommando.CommandText = "Select * from tblProjekter where intProjektID = @ID";
        minKommando.CommandType = CommandType.Text;
        minKommando.Connection = minForbindelse;

        paramProjektID.ParameterName = "@ID";
        paramProjektID.SqlDbType = SqlDbType.Int;
        paramProjektID.Direction = ParameterDirection.Input;
        paramProjektID.Value = 2;

        minKommando.Parameters.Add(paramProjektID);

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

        gvProjekter.DataSource = minReader;
        gvProjekter.DataBind();

        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
    If Not Page.IsPostBack Then
        Dim minReader As SqlDataReader
        Dim paramProjektID As SqlParameter = New SqlParameter()

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

        paramProjektID.ParameterName = "@ID"
        paramProjektID.SqlDbType = SqlDbType.Int
        paramProjektID.Direction = ParameterDirection.Input
        paramProjektID.Value = 2

        minKommando.Parameters.Add(paramProjektID)

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

        gvProjekter.DataSource = minReader
        gvProjekter.DataBind()

        minKommando.Dispose()
        minForbindelse.Dispose()
    End If
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.