Buonasera a tutti:
Ho sempre usato access, adesso però sto imparando l'uso del Db mysql. Basandomi su alcune indicazioni del sito ho realizzato questo script che visualizza le tabelle di un db e allo stesso momento ne visualizza i relativi campi. Tutto bene ma il problema si pone quando una tabella non contiene campi. Pongo l'esempio:
<%
'---------------------------------------------------connessione
Set conn=Server.CreateObject("ADODB.Connection")
conn.open="Driver={MYSQL ODBC 5.1 DRIVER}; server=localhost; UID=root; PWD=bach;"
'---------------------------------------------------recordset
set rs=Server.CreateObject("ADODB.recordset")
sql="Show tables from montagna"
rs.open sql, conn
'-------------------------------------contatore tabelle
tot_tables=0
if rs.EOF=False then
do while Not rs.EOF
tot_tables=tot_tables+1
rs.MoveNext
Loop
End If
rs.close
Set rs=nothing
'-------------------------------------------------------------------------------------
'-------------------------------------------------------------visualizza tabelle
set rs=Server.CreateObject("ADODB.Recordset")
sql="Show tables from montagna"
rs.open sql, conn
if not rs.EOF then
Redim arr_tables(tot_tables)
t=0
response.write "<table style="" font-family: verdana; font-size: 11px; "">"
do while not rs.EOF
if t mod 2=0 then
sfondo="#CCCC00"
else
sfondo="#CCCCFF"
End If
response.write "<tr>"
response.write "<td style="" background: " & sfondo & " ;"">"
response.write "< Tabella n. " & right("00" & t+1,2) & " ----> " & rs(0)
'---------------------------------------------------------------------------------------
'----------------------------------------------------visualizza campi con rs2
set rs2=server.CreateObject("ADODB.recordset")
strFields="Show fields from " & rs(0)
rs2.open strFields, conn ' Qui non essendo presente il campo segnala errore " [MySQL][ODBC 5.1 Driver][mysqld-5.0.91-community-nt]No database selected
If not rs2.EOF then
f=0 ' contatore campi
do while not rs2.EOF
response.write "[*] Campo n. " & right("00" & f+1,2) & " ------> " & rs2(0) & ""'f=f+1
rs2.MoveNext
Loop
End If
rs2.Close
set rs2=nothing
'---------------------------------------------------------------------------------------Chiudi
t=t+1
rs.MoveNext
response.write "</td>"
response.write "</tr>"
Loop
End If
rs.close
set rs=nothing
response.write "</table>"
%>
Se non è presente alcun campo come faccio a passare avanti senza che lo script si blocchi e segnali errori?
Un saluto

Rispondi quotando
