La funzione Include permette di inserire file esterni all’interno di una procedura ASP.

Si possono inserire, file di testo, script e altro.

Un esempio per rendere l’idea e’ aggiungere ad un peso netto, il peso della confezione.

<%

‘il peso e’ Kg.10

Dim fpeso

fpeso = 10

‘Ora mostro il peso netto piu’ la confezione

Response.Write “Peso complessivo: ” & Adjustedpeso(fpeso)

%>

Per aggiungere il peso della confezione aggiungo un file di inclusione

chiamandolo peso.txt, cosi’ composto:


<%

function Adjustedpeso(totalpeso)

Adjustedpeso = totalpeso + 0.5

end function

%>

Quindi il file .asp diventa:

<!–#include file=”peso.txt”–>

<%

‘il peso e’ Kg.10

Dim fpeso

fpeso = 10

‘Ora mostro il peso netto piu’ la confezione

Response.Write “Peso complessivo: ” & Adjustedpeso(fpeso)

%>

Come posso aggiungere a folder specifici nuove path?

Un metodo che permette questo è FileSystemObject.CreateFolder.

<%

dim filetest, nuovadir

set filetest =CreateObject(“Scripting.FileSystemObject”)

nuovadir = filetest.CreateFolder(c:\inetpub\wwwroot, “nome_directory”)

%>

Per aggiungere un constraint IDENTITY ad una colonna già esistente devo prima eliminarla e poi ricrearla.

Attenzione perché tutti i dati presenti nella colonna saranno persi!

Una colonna con IDENTITY contiene numeri interi creati automaticamente da SQL Server ogni volta che si aggiunge un record a quella tabella.

I valori nella colonna IDENTITY sono ovviamente UNICI.

Per ogni tabella può esistere una sola colonna IDENTITY.

USE pubs –> Utilizzo il database pubs

GO

/* se esiste all’interno del database l’oggetto ‘test’ ed è una TABELLA */

IF OBJECTPROPERTY ( object_id(‘test’),’ISTABLE’) = 1

DROP TABLE test /* allora lo elimino */

GO

CREATE TABLE test (id# int NOT NULL, tipo1 varchar(255))

GO

ALTER TABLE test –> altero la tabella ‘test’

DROP COLUMN id# –> elimino la colonna ID

GO –> Eseguo lo script precedente e mi preparo ad eseguire un nuovo batch

ALTER TABLE test –>altero la tabella libri per aggiungere il nuovo campo ID

ADD id# INT IDENTITY NOT NULL –> aggiungo un constraint IDENTITY alla colonna ID

Per mezzo di questo script:

<html>

<head>

<title>Ordinare i record casualmente</title>

</head>

<body bgcolor=”#ffffff”>

<%

‘Connessione al database

Dim rs, cn, sql

sql = “SELECT * FROM tabella”

Set cn = Server.CreateObject(“ADODB.Connection”)

Set rs = Server.CreateObject(“ADODB.Recordset”)

cn.Open “DSN=nomeDSN;”

Set rs.ActiveConnection = cn

rs.CursorType = 3

rs.LockType = 3

rs.Open sql, cn

%>

<center>

<%

rs.moveLast

conta = rs.recordCount

conta1 = conta

max = conta

‘Necessario inserire un valore massimo

If 50 < conta Then

conta1 = 50

Else

If conta > 10 AND conta < 50 then conta1 = conta1 – 2

End If

str = “,”

str1 = “,”

Do Until conta1 = 0

‘Genero i valori random per la ricerca all’interno del recordSet

‘per estrapolare record casualmente

Randomize

RndNumber = Int(Rnd * max)

If (InStr(1, str1, “,” & RndNumber & “,” ) = 0) Then

str1 = str1 & RndNumber & “,”

conta1 = conta1 – 1

rs.moveFirst

rs.move RndNumber

str = str & rs(“ID”) & “,”

End If

Loop

rs.Close

Set rs=Nothing

Set rs = Server.CreateObject(“ADODB.Recordset”)

‘Genero la query random

If sql = “SELECT * FROM tabella” then

sql = “SELECT * FROM tabella WHERE (((InStr(1,'” & str & “‘,(‘,’ & [ID] & ‘,’)))<>0))”

Else

sql = sql & ” AND (((InStr(1,'” & str & “‘,(‘,’ & [ID] & ‘,’)))<>0))”

End if

Set rs.ActiveConnection = cn

rs.CursorType = 3

rs.LockType = 3

rs.Open sql, cn

%>

<% Do until (rs.eof) %>

<!– Visualizzo i risultati della query random –>

<%= rs(“nomeCampo”) %>

<!– ***************************************** –>

<% rs.MoveNext

Loop

rs.Close

Set rs=Nothing %>

</body>

</html>

è possibile ordinare casualmente i risultati della query effettuata sul database

Utilizzando un database, è possibile creare una mailing-list utilizzando questo semplice codice:

<%

‘Mi collego al db ed estraggo gli indirizzi email

Dim rs, conn, sql

Set rs = Server.CreateObject(“ADODB.Recordset”)

conn = “DSN=nomeDSN;”

sql = “SELECT email FROM tabella”

rs.Open sql, conn

‘Inserisco dentro la variabile bcc tutti i destinatari

x = 0

do until rs.eof

   x = x + 1

   if x = 1 then

    bcc = rs(“email”)

  else

    bcc = bcc & “, ” & rs(“email”)

  end if

rs.moveNext

loop

rs.close

Set rs = Nothing

‘Invio l’email

Dim miaMail

Set miaMail = CreateObject(“CDONTS.NewMail”)

miaMail.From = “mittente@della.mail”

miaMail.To = “destinatario@della.mail”

miaMail.bcc = bcc

miaMail.Subject = “Oggetto della mail”

miaMail.BodyFormat = 0

miaMail.MailFormat = 0

miaMail.Body = “Testo della mail”

miaMail.Send

Set miaMail = Nothing

%>

Utilizzando .bcc eviteremo di “intasare” il server di email (pensate ad un database con più di 1000 email!)

Per inviare file in attach in una mail, ecco uno script di esempio:

<%

Dim miaMail

Set miaMail = CreateObject(“CDONTS.NewMail”)

miaMail.From = “mittente@della.mail”

miaMail.To = “destinatario@della.mail”

miaMail.Subject = “Oggetto della mail”

miaMail.BodyFormat = 0

miaMail.MailFormat = 0

miaMail.Importance = 0

‘Invio il file

miaMail.AttachFile “c:\freeasp.txt”, “nuovoNome.txt”

miaMail.Body = “Testo della mail”

miaMail.Send

Set miaMail = Nothing

%>

E’ possibile scegliere un nuovo nome per il file inviato oppure no, inserendo esclusivamente il percorso del file:

<%

miaMail.AttachFile “c:\freeasp.txt”

%>

Per spedire email da pagine ASP è necessario utilizzare l’oggetto COM CDONTS. Questo oggetto ci permette di spedire email utilizzando il server SMTP del server.

E’ possibile impostare alcune proprietà per l’invio. Vediamo quali:

<%

Dim miaMail

Set miaMail = CreateObject(“CDONTS.NewMail”)

miaMail.From = “mittente@della.mail”

miaMail.To = “destinatario@della.mail”

miaMail.Subject = “Oggetto della mail”

miaMail.BodyFormat = 0

miaMail.MailFormat = 0

miaMail.Importance = 0

miaMail.Body = “Testo della mail”

miaMail.Send

Set miaMail = Nothing

%>

Nei formati Mail e Body è possibile impostare se inviare la mail in formato semplice testo oppure HTML. Per il testo utilizzare 1 al posto di 0.

Importance imposta la priorità della mail (1, priorità alta)

Per effettuare una connessione ODBC ad un database, è necessario innanzitutto impostare il DSN da pannello di controllo del server, poi, all’interno della pagina asp, inserire questo codice:

<%

Dim rs, cn, sql

sql = “SELECT * FROM tabella”

Set rs = Server.CreateObject(“ADODB.Recordset”)

Set cn = Server.CreateObject(“ADODB.Connection”)

cn.Open “DSN=nomeDSN

Set rs.ActiveConnection = cn

rs.Open sql, cn

%>

Verrà così generato un RecordSet con i valori restituiti dall’istruzione SQL scritta

Ecco come eliminare tutte le variabili di sessione ed il loro valore:

<% Session.Contents.RemoveAll() %>

Così facendo, il valore ID di sessione rimane uguale, in quanto vengono solo scaricate le variabili utilizzate

Per eliminare un variabile di sessione, si utilizza questa sintassi:

<% Session.Contents.Remove( nomeVariabile/indice ) %>

E’ possibile specificare direttamente il nome della variabile da eliminare, oppure l’indice di riferimento. Indicando l’indice ovviamente, il server eliminerà la voce corrispondente dall’inizio dell’insieme Session