Grazie al seguente script facilmente personalizzabile, è possibile immettere in modo rapido informazioni in un database di tipo Microsoft Access.

<%

if(request(“id”)=”1″) then

‘Dichiarazione variabili

dim qtRecord

qtRecord = 4 ‘campi da memorizzare

dim ctInd

ctInd = 0 ‘ contatore

‘Apertura database – recordset

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

strConn=”driver={Microsoft Access Driver (*.mdb)}; ”

strConn=strConn & ” DBQ=” & Server.MapPath(“test.mdb”)

Conn.Open (strConn)

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

rs.open “tabella”, conn,3,3

‘Memorizzazione dati

rs.addnew

for ctInd= 0 to (qtRecord – 1)

rs(ctInd)=request.form(“campo”&ctInd+1)

next

rs.update

‘Chiusura database – recordset

rs.close

set rs=nothing

conn.close

set conn=nothing

‘Avviso a video

response.write “Memorizzazione riuscita”

end if

%>

<FORM METHOD=POST ACTION=”index.asp?id=1″>

<INPUT TYPE=”text” NAME=”campo1″><br>

<INPUT TYPE=”text” NAME=”campo2″><br>

<INPUT TYPE=”text” NAME=”campo3″><br>

<INPUT TYPE=”text” NAME=”campo4″><br>

<INPUT TYPE=”submit” value=”memorizza”>

</FORM>

Grazie a questo script è possibile preparare la stringa di interrogare del nostro database in modo causale.

<%

randomize()

dim table(4) ‘Contiene i nomi delle tabelle del database.

table(0) = “annunci”

table(1) = “foto”

table(2) = “animali”

table(3) = “script”

table(4) = “giochi”

dim strSql

strSql=”SELECT * FROM “& table(cint(ubound(table)*rnd()))

response.write strSql

%>

I commenti ci aiutono molto nel rndere più chiari e leggibili i nostri programmi nel corso del tempo, T-SQL da buon linguaggio qual è ne supporta due tipi:

USE tempdb

go

— Questo è un commento su una riga

/*

Questo è un commento

su più righe

*/

@@ROWCOUNT ci ritorna il numero di righe coinvolte nell’ultima istruzione SQL:

use pubs

go

UPDATE authors SET au_lname = ‘Jones’ WHERE au_id = ‘999-888-7777’

IF @@ROWCOUNT = 0

print ‘Attenzione: Nessuna riga aggiornata’

/*

Grazie a @@ROWCOUNT possiamo sapere se la nostra istruzione UPDATE

è andata a buon fine oppure no

*/

Affinchè questa istruzione sia valida deve essere attivata l’opzione Select Into/Bulk Copy nel pannello delle proprietà del database:

USE tempdb

GO

SELECT * INTO nuova_tabella FROM vecchia_tabella

Alcuni esempi di come sia possibile sfruttare le istruzioni di controllo del flusso offerte da T-SQL:

SET QUOTED_IDENTIFIER OFF

SET NOCOUNT ON

GO

declare @test varchar(40)

select @test = “mio testo”

if @test = “mio testo”

begin

print “@test contiene le parole ‘mio testo'”

end

else

begin

print “@test non contiene le parole ‘mio testo'”

end

declare @conta int

select @conta = 0

while @conta < 5

begin

select @conta = @conta + 1

print “Conteggio –> ” + convert(varchar(5),@conta)

end

Attraverso l’istruzione ALTER TABLE è possibile aggiungere una chiave primaria ad una tabella che abbiamo già creato in precedenza. Ogni volta che viene creata una PK in questo modo SQL server aggiunge in modo automatico un indice associato alla PK (attenzione di default l’indice è CLUSTERED):

BEGIN TRAN

USE pubs

ALTER TABLE MioTest

ADD CONSTRAINT PK_MioTest

PRIMARY KEY (ID)

COMMIT TRAN

Attraverso una stored procedure di sistema dal nome sp_password, possiamo facilmente cambiare le password alle nostre login:

/*

EXEC = esegue la procedura

*/

EXEC sp_password @old = “vecchiapassword”, @new = “nuovapassword”, @loginame = “miologin”