CODICE COMPLETO:
codice:
<%
strFile = "pannello.asp" 'il nome di questo file
strTable = "nomi" 'nome tabella
strKey = "ID" 'chiave primaria, contatore
bgHeaderColor = "Orange"
fontHeaderColor = "black"
bgColor1 = "Silver"
fontColor1 = "Black"
bgColor2 = "White"
fontColor2 = "Black"
Set MyConn=Server.CreateObject("ADODB.Connection")
MyConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/database2.mdb")
'**************************************
'azioni da eseguire
'**************************************
Select Case Request("mode")
Case "AddItem"
AddItem
Case "AddItemAction"
AddItemAction
Case "EditItem"
EditItem
Case "EditItemAction"
EditItemAction
Case "DelItem"
delItem
Case Else
ShowAll
End Select
'**************************************
'mostrare tutti i record
'FORTEMENTE SCONSIGLIATO PER I DATABASE DI GRANDE DIMENSIONE
'**************************************
Sub ShowAll()
MySQL="Select * from " & strTable
Set MyRs=MyConn.Execute(MySQL)
Response.write ("<h2> Tabella " & strTable & " : il contenuto</h2>")
Response.write ("
<font size=""2"">AGGIUNGI NUOVO</font></p>")
Response.write ("<table border=""1"" cellpadding=""4"" cellspacing=""1"">")
Response.write ("<tr>")
numerocampi=MyRs.fields.count -1
Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">X</font></td>")
Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">E</font></td>")
for i=0 to numerocampi
if Not MyRs(i).name = "ID" then
Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">" & MyRs(i).name & "</font></td>")
end if
next
Response.write ("</tr>")
do while not MyRs.eof
if bgColor = bgColor2 then
bgColor = bgColor1
fontColor = fontColor1
else
bgColor = bgColor2
fontColor = fontColor2
end if
Response.write ("<tr>")
Response.write ("<td align=""Center"" valign=""Top"" bgcolor=""" & bgColor & """>")
Response.write ("<font color=""" & fontColor & """>Elimina</font></td>")
Response.write ("<td align=""Center"" valign=""Top"" bgcolor=""" & bgColor & """>")
Response.write ("<font color=""" & fontColor & """>Modifica</font></td>")
for i = 0 to numerocampi
if Not MyRs(i).name = "ID" then
if MyRs(i).name = "PRICE" then
ThisRecord = FormatCurrency(MyRs(i))
strAlign = "right"
else
ThisRecord = MyRs(i)
strAlign = ""
end if
If IsNull(ThisRecord) or ThisRecord = "" Then
ThisRecord = ""
end if
ThisRecord = Replace(ThisRecord,vbCrLf,"
")
Response.write ("<td align=""" & strAlign & """ valign=top bgcolor=""" & bgColor & """><font color=""" & fontColor & """>" & Thisrecord & "</font></td>")
end if
next
Response.write ("</tr>")
MyRs.movenext
loop
Response.write ("</table>")
MyRs.close
Set MyRs= Nothing
end sub
'**************************************
'aggiungi
'**************************************
Sub AddItem()
MySQL="Select * from " & strTable
Set MyRs=MyConn.Execute(MySQL)
Response.write ("<h2>Aggiungi nuovo Record a " & strTable & "</h2>")
Response.write ("<form action=""" & strFile & "?mode=AddItemAction"" method=""post"" id=form1 name=form1>")
Response.write ("<table>")
numerocampi=MyRs.fields.count -1
for i=0 to numerocampi
if Not MyRs(i).name = "ID" then
ThisRecord = MyRs(i)
ThisRecordName = MyRs(i).name
If IsNull(ThisRecord) or ThisRecord = "" Then
ThisRecord = ""
end if
Response.write ("<tr>")
Response.write ("<td align=""right"">" & ThisRecordName & ": </td>")
Response.write ("<td> <input name=""" & ThisRecordName & """ type=""text""></td>")
Response.write ("</tr>")
end if
next
Response.write ("<tr>")
Response.write ("<td align=""right""><input name=""Submit"" type=submit value=""Submit""></td>")
Response.write ("<td><input name=""reset"" type=reset value=""Reset""></td>")
Response.write ("</tr>")
Response.write ("</table>")
Response.write ("</form>")
Response.write ("Back to list")
End Sub
Sub AddItemAction()
MySQL="Select * from " & strTable
Set MyRs=MyConn.Execute(MySQL)
numerocampi=MyRs.fields.count -1
for i=0 to numerocampi
if Not MyRs(i).name = "ID" then
str = MyRs(i).name
if not i = numerocampi then
str1 = str1 & "[" & str & "], "
else
str1 = str1 & "[" & str & "]"
end if
strNames = Request(str)
if not i = numerocampi then
sqlNames1 = sqlNames1 & "'" & strNames & "', "
else
sqlNames1 = sqlNames1 & "'" & strNames & "'"
end if
end if
next
MySQL1="Insert INTO " & strTable & " (" & str1 & ") VALUES (" & sqlNames1 & ")"
Set MyRs1=MyConn.Execute(MySQL1)
MyConn.Close
set MyConn=nothing
Response.Redirect strFile
End Sub
'**************************************
'modificare
'**************************************
Sub EditItem()
Response.write ("<h2>Modifica record nella tabella " & strTable & "</h2>")
which=request("which")
if isNumeric(which) then
MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which
else
MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'"
end if
Set MyRs=MyConn.Execute(MySQL)
Response.write ("<FORM ACTION=""" & strFile & "?mode=EditItemAction"" METHOD=POST>")
Response.write ("<input name=""ID"" type=""hidden"" value=""" & MyRs(strKey) & """>")
Response.write ("<table>")
numerocampi=MyRs.fields.count -1
for i=0 to numerocampi
if Not MyRs(i).name = "ID" then
ThisRecord = MyRs(i)
ThisRecordName = MyRs(i).name
If IsNull(ThisRecord) or ThisRecord = "" Then
ThisRecord = ""
end if
Response.write ("<tr>")
Response.write ("<td height =""auto"" align=""right"">" & ThisRecordName & ": </td>")
Response.write ("<td> <input name=""" & ThisRecordName & """ type=""text"" value=""" & MyRs(i) & """></td>")
Response.write ("</tr>")
end if
next
Response.write ("<tr>")
Response.write ("<td align=""right""><INPUT NAME=""Submit"" TYPE=Submit Value=""Update""></td>")
Response.write ("<td><INPUT NAME=""Reset"" TYPE=Reset Value=""Reset""></td>")
Response.write ("</tr>")
Response.write ("</table>")
Response.write ("</FORM>")
Response.write ("Torna alla lista dei record")
MyRs.close
Set MyRs= Nothing
End Sub
Sub EditItemAction()
which = Request(strKey)
if isNumeric(which) then
MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which
else
MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'"
end if
'MySQL="Select * from " & strTable
Set MyRs=MyConn.Execute(MySQL)
numerocampi=MyRs.fields.count -1
for i=0 to numerocampi
if Not MyRs(i).name = "ID" then
str = MyRs(i).name
strNames = Request(str)
if not i = numerocampi then
str1 = str1 & "[" & str & "] = '" & strNames & "', "
else
str1 = str1 & "[" & str & "] = '" & strNames & "'"
end if
end if
next
if isNumeric(which) then
MySQL1="UPDATE " & strTable & " SET " & str1 & " Where " & strKey & " = " & which
else
which = replace(which,"'","''")
MySQL1="UPDATE " & strTable & " SET " & str1 & " Where " & strKey & " = '" & which & "'"
end if
'MySQL1="UPDATE " & strTable & " SET " & str1 & " Where ID=" & which
Set MyRs1=MyConn.Execute(MySQL1)
MyConn.Close
set MyConn=nothing
Response.Redirect strFile
End Sub
'**************************************
'elimina record
'**************************************
Sub DelItem()
which=request("which")
if isNumeric(which) then
MySQL="delete * from " & strTable & " Where " & strKey & " = " & which
else
MySQL="delete * from " & strTable & " Where " & strKey & " = '" & which & "'"
end if
Set MyRs=MyConn.Execute(MySQL)
MyConn.Close
set MyConn=nothing
Response.Redirect strFile
End Sub
%>
a me servirebbe appunto poter usare l'apostrofo e quando si modifica un campo avere già dentro il campo com'è al momento per modificare a seconda della necessità...