Per mezzo di questo script è possibile visualizzare a video i nomi delle tabelle e dei rispettivi campi che formano il database aperto tramite la connessione desiderata:

<%

set rsT = Server.CreateObject(“ADODB.Recordset”)

set rsC = Server.CreateObject(“ADODB.Recordset”)

‘Esempio di connessione OLEDB al database

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

‘Conn.Open “Trusted_Connection=yes;Provider=SQLOLEDB;Data Source=(local);Initial Catalog=nomedatabase;”

‘Esempio di connessione DSN-LESS al database

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

‘Conn.Open “Driver={Microsoft Access Driver (*.mdb)};dbq=” &

‘Server.MapPath(“percorso/database.mdb”)

Set RsT = Conn.OpenSchema(20)

do while not RsT.eof

%><br><b><%= rsT(“TABLE_NAME”) %></b><br><%

Set RsC = Conn.OpenSchema(4, Array(Empty, Empty, “” & rsT(“TABLE_NAME”)))

do while not rsC.eof

%><%= rsC(“COLUMN_NAME”) %><br><%

rsC.moveNext

loop

rsT.MoveNext

loop

rsT.Close

Set rsT = Nothing

rsC.Close

Set rsC = Nothing

Conn.Close

Set Conn = Nothing

%>

La strada migliore per poter visualizzare un’immagine memorizzata in un campo di un database è quella di creare una pagina ASP che visualizzi in linguaggio binario l’immagine desiderata per poi richiamare questa pagina da un tag IMG presente sul sito.

Un esempio della pagina “immagine.asp” può essere:

<%

response.ContentType = “image/gif”

set cn = server.createObject(“ADODB.Connection”)

cn.Open “DSN=mioDSN”

sql = “SELECT immagine FROM tabella WHERE ID=” & request.Querystring(“id”)

set rs = cn.Execute(sql)

response.BinaryWrite rs(“immagine”)

rs.close

set rs=nothing

%>

(ho inserito una connessione di esempio al database)

In questa pagina viene richiamata un’immagine da un database indicando come ID del record un valore Querystring inviato dalla richiesta:

<img src=”immagine.asp?id=1″ border=0 alt=””>

che inseriremo nella pagina desiderata del nostro sito

Come eliminare un determinato record da un database.

Può essere usato ad esempio per una mailing list o un’amministrazione di un

sito.

<%

‘SE SI TRATTA AD ESEMPIO DI UNA MAILING LIST

id = request.querystring(“id”)

‘SE SI TRATTA AD ESEMPIO DI UN FORM DI AMMINISTRAZIONE

‘id = request.form(“id”)

dim dsn

dsn=”DBQ=” & Server.Mappath(“IL PATH DEL VOSTRO DATA BASE”) &

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

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

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

Conn.Open dsn

SQL = “DELETE FROM TABELLA WHERE id=”&id

rs.Open SQL, Conn

……

‘chiusura della connessione

rs.Close

set rs = Nothing

%>

E’ possibile popolare una combobox, con dati presi dinamicamente da un

database.

<select name=”nomevariabile”>

<%do while not Rs.eof

valore=Rs(“valore”)

nome=Rs(“nome”)

response.write(“<option value=” & valore &”>” & nome &”</option>”)

Rs.movenext

loop %>

Ecco come creare un recordset dopo aver effettuato una connessione ADO ad un

database Access protetto da password:

<%

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

Dim strConn

strConn = “driver={Microsoft Access Driver (*.mdb)};dbq=”&_

server.MapPath(“database.mdb”)&”;PWD=password”

Dim sql

sql =”SELECT * FROM tabella”

cn.open strConn

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

rs.Open sql, cn, , , adCmdText



rs.close

set rs=nothing

%>

Da modificare:

– il nome e il path del database

– password

– il nome della “tabella” sulla stringa sql

<%

ricerca = Request.Form(“ricerca”)

nomecampo = Request.Form(“nomecampo”)

ordine = Request.Form(“ordine”)

if ricerca <> “” then

‘ qui ci metti la connessione al db tenendo conto che

‘ questa è la stringa sql per effettuare la ricerca nel db

SQL = (“SELECT * FROM nometabella WHERE ” & nomecampo & ” LIKE ‘%” & ricerca & “%’ ORDER by ” & ordine)

‘ questa riga la ho messa solo per stampare la stringa in modo da farti vedere cosa genero

Response.Write SQL

else

%>

<form method=”POST” action=”ricerca.asp”>

<div align=”center”>

<center>

<table border=”1″ cellspacing=”0″ cellpadding=”3″ width=”230″>

<tr>

<td>Cerca</td>

<td colspan=”2″><input type=”text” name=”ricerca” size=”20″></td>

</tr>

<tr>

<td>Dove</td>

<td colspan=”2″>

<select size=”1″ name=”nomecampo”>

<option value=”campo_a” selected>campo_a</option>

<option value=”campo_b”>campo_b</option>

<option value=”campo_c”>campo_c</option>

<option value=”campo_d”>campo_d</option>

</select>

</td>

</tr>

<tr>

<td rowspan=”4″>Ordina per</td>

<td><input type=”radio” value=”campo_a” name=”ordine” checked></td>

<td>campo_a</td>

</tr>

<tr>

<td><input type=”radio” value=”campo_b” name=”ordine”></td>

<td>campo_b</td>

</tr>

<tr>

<td><input type=”radio” value=”campo_c” name=”ordine”></td>

<td>campo_c</td>

</tr>

<tr>

<td><input type=”radio” value=”campo_d” name=”ordine”></td>

<td>campo_d</td>

</tr>

<tr>

<td colspan=”2″ align=”center”><input type=”submit” value=”Invia”></td>

<td align=”center”><input type=”reset” value=”Reimposta”></td>

</tr>

</table>

</center>

</div>

</form>

<%

end if

%>

Grazie al seguente script, è possibile capire se il record cercato tramite una select mirata all’interno di una tabella esiste oppure no.

<%

dim rs, strConn, strSql

set rs = server.createObject(“ADODB.recordset”)

strConn=”DSN=innovatelDB”

strSql=” Select * from utenti where user=’innovatel’ AND codice=’innovatel’ ”

rs.open strSql, strConn

if not(rs.eof) then

response.write ” Il record cercato esiste”

else

response.write ” Il record cercato <B>non</B> esiste”

end if

rs.close

set rs=nothing

%>

<%

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

Conn.Open “Driver={Microsoft Access Driver (*.mdb)};dbq=” &

Server.MapPath(“percorso/database.mdb”)

Set Rs = Conn.OpenSchema(4)

Do While not Rs.EOF

‘ Specificare qui il nome della tabella dove cercare i campi contenuti

If Trim(Rs(“TABLE_NAME”)) = “nometabella” then

Response.Write Rs(“COLUMN_NAME”) & “<br>”

End if

Rs.MoveNext

Loop

Rs.Close

Set Rs = Nothing

Conn.Close

Set Conn = Nothing

%>

<%

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

Conn.Open “Driver={Microsoft Access Driver (*.mdb)};dbq=” &

Server.MapPath(“percorso/database.mdb”)

Set Rs = Conn.OpenSchema(20)

Do While not Rs.EOF

If Trim(Rs(“TABLE_TYPE”)) = “TABLE” then

Response.Write Rs(“TABLE_NAME”) & “<br>”

End if

Rs.MoveNext

Loop

Rs.Close

Set Rs = Nothing

Conn.Close

Set Conn = Nothing

%>