Visualizzazione dei risultati da 1 a 2 su 2

Discussione: update di radiogroup

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    376

    update di radiogroup

    Salve ho una tabella con nome, cognome e 3 campi di tipo valore si/no i quali posso essere selezionati uno solo alla volta, fanno parte di una radiogroup; il problema è riuscire ad fare update del campo radio relativo alla riga a cui si riferisce.
    Mi restituisce il seguente errore
    Errore di run-time di Microsoft VBScript error '800a000d'
    Tipo non corrispondente: 'LBound'
    /pippo.asp, riga 83 -- riga scritta in rosso

    Grazie in anticipo

    Qui sotto il codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!--#include file="Connections/conn.asp" -->
    <%


    ' *** Edit Operations: declare variables


    Dim MM_editAction
    Dim MM_abortEdit
    Dim MM_editQuery
    Dim MM_editCmd


    Dim MM_editConnection
    Dim MM_editTable
    Dim MM_editRedirectUrl
    Dim MM_editColumn
    Dim MM_recordId


    Dim MM_fieldsStr
    Dim MM_columnsStr
    Dim MM_fields
    Dim MM_columns
    Dim MM_typeArray
    Dim MM_formVal
    Dim MM_delim
    Dim MM_altVal
    Dim MM_emptyVal
    Dim MM_i
    Dim Rep
    Dim alert




    MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
    If (Request.QueryString <> "") Then
    MM_editAction = MM_editAction & "?" & Request.QueryString
    End If


    ' boolean to abort record edit
    MM_abortEdit = false


    ' query string to execute
    MM_editQuery = ""


    ' *** Update Record: set variables


    If (CStr(Request("MM_update")) = "form7" And CStr(Request("MM_recordId")) <> "") Then


    MM_editConnection = MM_conn_STRING
    MM_editTable = "T_Presenze_Assenze"
    MM_editColumn = "Id"
    MM_recordId = Request.Form("MM_recordId")
    MM_editRedirectUrl = "pippo.asp"
    MM_fieldsStr="111|value|2|value|Checkbox|value|Che ckbox|value|Checkbox|value"
    MM_columnsStr ="Nome|',none,''|Cognome|',none,''|AING|',none,''| M|',none,''|AG|',none,''"




    ' create the MM_fields and MM_columns arrays
    MM_fields = Split(MM_fieldsStr, "|")
    MM_columns = Split(MM_columnsStr, "|")

    ' set the form values
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
    Next


    ' append the query string to the redirect URL
    If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
    MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
    MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
    End If


    End If
    %>
    <%
    ' *** Update Record: construct a sql update statement and execute it


    If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then


    ' create the sql update statement
    MM_editQuery = "update " & MM_editTable & " set "
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
    MM_formVal = MM_emptyVal
    Else
    If (MM_altVal <> "") Then
    MM_formVal = MM_altVal
    ElseIf (MM_delim = "'") Then ' escape quotes
    MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
    Else
    MM_formVal = MM_delim + MM_formVal + MM_delim
    End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
    MM_editQuery = MM_editQuery & ","
    End If
    MM_editQuery = MM_editQuery & MM_columns(MM_i) & " = " & MM_formVal
    Next
    MM_editQuery = MM_editQuery & " where " & MM_editColumn & " = " & MM_recordId

    If (Not MM_abortEdit) Then
    ' execute the update
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close


    If (MM_editRedirectUrl <> "") Then
    Response.Redirect(MM_editRedirectUrl)
    End If
    End If


    End If
    %>
    <%
    'creo l'oggetto Recordset
    Set rs = Server.CreateObject("ADODB.Recordset")
    'Eseguo la query SQL SELECT
    rs.ActiveConnection = MM_conn_STRING
    rs.Source = "SELECT * FROM T_Presenze_Assenze"
    rs.CursorType = 0
    rs.CursorLocation = 2
    rs.LockType = 1
    rs.Open()


    %>


    <html>
    <head>
    <title>Gestione Stagione</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="../Stile/organico.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <form name="form7" method="post" action="<%=MM_editAction%>">
    <table width="60%" border="0">
    <%
    'creo l'area ripetuta
    While rs.EOF = False
    %>
    <tr>
    <td><input type="text" size="8" name="111" value="<%=rs.fields.item("Nome").value%>" readonly></td>
    <td><input type="text" size="10" name="2" value="<%=rs.fields.item("Cognome").value%>" readonly></td>
    <td><input type="radio" name="Checkbox" <% If (CStr((rs.Fields.Item("AING").Value)) = CStr("1")) Then Response.Write("checked=""checked""") : Response.Write("")%>value="1" id="Radio1"></td>
    <td><input type="radio" name="Checkbox" <% if (CStr((rs.Fields.Item("M").Value)) = CStr("1")) Then Response.Write("checked=""checked""") : Response.Write("")%> value="2" id="Radio2"></td>
    <td><input type="radio" name="Checkbox" <% if(CStr((rs.Fields.Item("AG").Value)) = CStr("1")) Then Response.Write("checked=""checked""") : Response.Write("")%> value="3" id="Radio3"></td>
    <td>
    <input type="hidden" name="MM_update" value="form7">
    <input type="hidden" name="MM_recordId" value="<%=rs.Fields.Item("Id").Value%>">
    </td>
    </tr>
    <%
    rs.MoveNext


    'chiudo l'area ripetuta
    Wend
    rs.Close
    %>
    <tr>
    <td colspan="4">
    <input name="invia" type="submit" class="CapiPagina" id="invia" value="SALVA">


    </td>
    </tr>
    </table>
    </form>
    <%
    Set rs = Server.CreateObject("ADODB.Recordset")
    'Eseguo la query SQL SELECT
    rs.ActiveConnection = MM_conn_STRING
    rs.Source = "SELECT * FROM T_Presenze_Assenze"
    rs.CursorType = 2
    rs.CursorLocation = 3
    rs.LockType = 3
    rs.Open()


    '-------------------
    Dim valoreSelezionato
    'recupero il valore che arriva dal form
    valoreSelezionato = CInt(Request.Form("Checkbox"))


    Set Command1 = Server.CreateObject ("ADODB.Command")
    Command1.ActiveConnection = MM_conn_STRING
    Command1.CommandText = "UPDATE T_Presenze_Assenze SET AING=IIF(Id=" & valoreSelezionato & ",true, false),M=IIF(Id=" & valoreSelezionato & ",true, false),AG=IIF(Id=" & valoreSelezionato & ",true, false)"
    Command1.CommandType = 1
    Command1.CommandTimeout = 0
    Command1.Prepared = true
    Command1.Execute()

    rs.Close
    Response.Redirect("pippo.asp")
    'End If
    %>
    </body>
    </html>
    <%
    Set Rs = Nothing
    %>
    Chi Crede in Me non Perirà MAI

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Questo campo hidden
    <input type="hidden" name="MM_update" value="form7">

    messo nell'area ripetuta, viene recuperato "n" volte e quindi questa condizione
    If (CStr(Request("MM_update")) = "form7" And CStr(Request("MM_recordId")) <> "") Then
    non sarà verificata e l'array MM_fields non si carica...
    Forse dovresti metterlo prima di chiudere il form, fuori l'area ripetuta, oppure modificare la condizione.

    Roby

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.