• User Newbie

    Microsoft VBScript runtime error '800a000d'

    Ciao sono nuova del forum. Avrei questo problema da sottoporre. Ho una galleria fotografiva in asp. nel pannello amministratore inserisco le foto, la descrizione e fin qui tutto bene. Se però cerco di modificare quanto scritto e quindi apro la relativa pagina per effettuare le modifiche ottengo questo errore:

    Microsoft VBScript runtime error '800a000d'
    Type mismatch: '[string: ""]' /cgi-bin/galleria/inc_detail.asp, line 74
    questo è il codice della pagina:

    <!--#include file="../Connections/connAdmin.asp" -->
    <!--#include file="../ScriptLibrary/incPUAddOn.asp" -->
    <%
    Dim rsPicEdit__MMColParam
    rsPicEdit__MMColParam = "1"
    if (Request.QueryString("iPic") <> "") then rsPicEdit__MMColParam = Request.QueryString("iPic")
    %>
    <%
    set rsPicEdit = Server.CreateObject("ADODB.Recordset")
    rsPicEdit.ActiveConnection = MM_connDUgallery_STRING
    rsPicEdit.Source = "SELECT * FROM PICTURES WHERE PIC_ID = " + Replace(rsPicEdit__MMColParam, "'", "''") + ""
    rsPicEdit.CursorType = 0
    rsPicEdit.CursorLocation = 2
    rsPicEdit.LockType = 3
    rsPicEdit.Open()
    rsPicEdit_numRows = 0
    %>
    <%
    ' *** Edit Operations: declare variables
    MM_editAction = CStr(Request("URL"))
    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")) <> "" And CStr(Request("MM_recordId")) <> "") Then
    MM_editConnection = MM_connDUgallery_STRING
    MM_editTable = "PICTURES"
    MM_editColumn = "PIC_ID"
    MM_recordId = "" + Request.Form("MM_recordId") + ""
    MM_editRedirectUrl = "pictures.asp"
    MM_fieldsStr = "PIC_TYPE|value|PIC_NAME|value|PIC_HEIGHT|value|PIC_WIDTH|value|PIC_DATED|value|PIC_APPROVED|value|PIC_DESCRIPTION|value"
    MM_columnsStr = "PIC_TYPE|none,none,NULL|PIC_NAME|',none,''|PIC_HEIGHT|',none,''|PIC_WIDTH|',none,''|PIC_DATED|',none,NULL|PIC_APPROVED|none,none,NULL|PIC_DESCRIPTION|',none,''"
    ' create the MM_fields and MM_columns arrays
    MM_fields = Split(MM_fieldsStr, "|")
    MM_columns = Split(MM_columnsStr, "|")

    ' set the form values
    For i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(i+1) = CStr(Request.Form(MM_fields(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
    %>
    <%
    ' *** Delete Record: declare variables
    if (CStr(Request("MM_delete")) <> "" And CStr(Request("MM_recordId")) <> "") Then
    MM_editConnection = MM_connDUgallery_STRING
    MM_editTable = "PICTURES"
    MM_editColumn = "PIC_ID"
    MM_recordId = "" + Request.Form("MM_recordId") + ""
    MM_editRedirectUrl = "pictures.asp"
    ' 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
    %>
    <%
    ' *** Delete File Before Delete Record 1.6.0
    If (CStr(Request("MM_delete")) <> "" And CStr(Request("MM_recordId")) <> "") Then
    Dim DF_filesStr, DF_path, DF_suffix
    DF_filesStr = "PIC_IMAGE"
    DF_path = "../images"
    DF_suffix = "_small"
    DeleteFileBeforeRecord DF_filesStr,DF_path,MM_editConnection,MM_editTable,MM_editColumn,MM_recordId,DF_suffix
    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 i = LBound(MM_fields) To UBound(MM_fields) Step 2
    FormVal = MM_fields(i+1)
    MM_typeArray = Split(MM_columns(i+1),",")
    Delim = MM_typeArray(0)
    If (Delim = "none") Then Delim = ""
    AltVal = MM_typeArray(1)
    If (AltVal = "none") Then AltVal = ""
    EmptyVal = MM_typeArray(2)
    If (EmptyVal = "none") Then EmptyVal = ""
    If (FormVal = "") Then
    FormVal = EmptyVal
    Else
    If (AltVal <> "") Then
    FormVal = AltVal
    ElseIf (Delim = "'") Then ' escape quotes
    FormVal = "'" & Replace(FormVal,"'","''") & "'"
    Else
    FormVal = Delim + FormVal + Delim
    End If
    End If
    If (i <> LBound(MM_fields)) Then
    MM_editQuery = MM_editQuery & ","
    End If
    MM_editQuery = MM_editQuery & MM_columns(i) & " = " & 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
    %>
    <%
    ' *** Delete Record: construct a sql delete statement and execute it
    If (CStr(Request("MM_delete")) <> "" And CStr(Request("MM_recordId")) <> "") Then
    ' create the sql delete statement
    MM_editQuery = "delete from " & MM_editTable & " where " & MM_editColumn & " = " & MM_recordId
    If (Not MM_abortEdit) Then
    ' execute the delete
    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
    %>
    <%
    set rsCat = Server.CreateObject("ADODB.Recordset")
    rsCat.ActiveConnection = MM_connDUgallery_STRING
    rsCat.Source = "SELECT * FROM TYPES ORDER BY TYPE_NAME ASC"
    rsCat.CursorType = 0
    rsCat.CursorLocation = 2
    rsCat.LockType = 3
    rsCat.Open()
    rsCat_numRows = 0
    %>
    <%
    Dim imgWidth, imgHeight, imgPercent, imgFixWidth, imgFixHeight
    imgWidth = rsPicEdit.Fields.Item("PIC_WIDTH").Value
    imgHeight = rsPicEdit.Fields.Item("PIC_HEIGHT").Value
    imgFixWidth = 580
    imgPercent = "(imgFixWidth/imgWidth)
    imgFixHeight= (imgHeightimgPercent)
    %>
    <script language="JavaScript">
    <!--
    function MM_findObj(n, d) { //v4.0
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d)&&d.all) x=d.all; for (i=0;!x&&i<d.forms.length;i++) x=d.forms
    ;
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers*.document);
    if(!x && document.getElementById) x=document.getElementById(n); return x;
    }
    function MM_validateForm() { //v4.0
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args*);
    if (val) { nm=val.name; if ((val=val.value)!="") {
    if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
    if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
    } else if (test!='R') {
    if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
    if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
    min=test.substring(8,p); max=test.substring(p+1);
    if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
    }
    //-->
    </script>
    <head>
    <link href="../assets/DUgallery.css" rel="stylesheet" type="text/css">
    </head>
    <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
    <tr>

    <td align="left" valign="top">
    <table width="100%" border="0" cellspacing="2" cellpadding="2">
    <tr>
    <td align="left" valign="top">
    <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">

    <tr>
    <td align="left" valign="top" bgcolor="#FFFFFF">
    <table width="100%" border="0" cellspacing="0" cellpadding="2">
    <tr class="generalTextBold" align="center">
    <form method="POST" action="<%=MM_editAction%>" name="form1">
    <td valign="middle" colspan="2"> <table align="center" cellpadding="2" cellspacing="2" class="textBold">
    <tr align="center" valign="middle">
    <td nowrap colspan="2">UPDATING <%= UCase((rsPicEdit.Fields.Item("PIC_NAME").Value)) %> </td>
    </tr>
    <tr valign="middle">
    <td nowrap align="right">CAT:</td>
    <td> <select name="PIC_TYPE" class="form">
    <%
    While (NOT rsCat.EOF)
    %>
    <option value="<%=(rsCat.Fields.Item("TYPE_ID").Value)%>" <%if (CStr(rsCat.Fields.Item("TYPE_ID").Value) = CStr(rsPicEdit.Fields.Item("PIC_TYPE").Value)) then Response.Write("SELECTED") : Response.Write("")%>><%=(rsCat.Fields.Item("TYPE_NAME").Value)%></option>
    <%
    rsCat.MoveNext()
    Wend
    If (rsCat.CursorType > 0) Then
    rsCat.MoveFirst
    Else
    rsCat.Requery
    End If
    %>
    </select> </td>
    </tr>
    <tr valign="middle">
    <td nowrap align="right">TITOLO:</td>
    <td> <input type="text" name="PIC_NAME" value="<%=(rsPicEdit.Fields.Item("PIC_NAME").Value)%>" size="25" class="form" maxlength="256">
     </td>
    </tr>
    <tr valign="middle">
    <td nowrap align="right">ALTEZZA:</td>
    <td> <input type="text" name="PIC_HEIGHT" value="<%=(rsPicEdit.Fields.Item("PIC_HEIGHT").Value)%>" size="5" class="form" maxlength="3">
    </td>
    </tr>
    <tr valign="middle">
    <td nowrap align="right">LARGHEZZA:</td>
    <td> <input type="text" name="PIC_WIDTH" value="<%=(rsPicEdit.Fields.Item("PIC_WIDTH").Value)%>" size="5" class="form" maxlength="3">
    </td>
    </tr>
    <tr valign="middle">
    <td nowrap align="right">DATA:</td>
    <td> <input type="text" name="PIC_DATED" value="<%=(rsPicEdit.Fields.Item("PIC_DATED").Value)%>" size="15" class="form" maxlength="15">
    </td>
    </tr>
    <tr valign="middle">
    <td nowrap align="right">APPROVED:</td>
    <td> <input type="text" name="PIC_APPROVED" value="<%=(rsPicEdit.Fields.Item("PIC_APPROVED").Value)%>" size="2" class="form" maxlength="1">
    <font color="#999999">(Scrivi 1 per Yes, 0 per No)</font></td>
    </tr>
    <tr valign="middle">
    <td nowrap align="right" valign="top">DESC:</td>
    <td> <textarea name="PIC_DESCRIPTION" cols="40" rows="5" class="form"><%=(rsPicEdit.Fields.Item("PIC_DESCRIPTION").Value)%></textarea>
    </td>
    </tr>
    <tr valign="middle" align="center">
    <td nowrap colspan="2"> <input type="submit" value="Aggiorna" onClick="MM_validateForm('PIC_NAME','','R','PIC_HEIGHT','','RisNum','PIC_WIDTH','','RisNum','PIC_DATED','','R','PIC_APPROVED','','RisNum','PIC_DESCRIPTION','','R');return document.MM_returnValue" class="form">
    </td>
    </tr>
    <tr valign="middle" align="center">
    <td nowrap colspan="2"> </td>
    </tr>
    </table> <input type="hidden" name="MM_update" value="form1">
    <input type="hidden" name="MM_recordId" value="<%= rsPicEdit.Fields.Item("PIC_ID").Value %>">
    </td>
    </form>
    </tr>
    <tr>
    <form name="delete" method="POST" action="<%=MM_editAction%>">
    <td align="center" valign="top" colspan="2"> <input type="submit" name="Submit" value="Delete This Picture" class="form">
    <input type="hidden" name="MM_delete" value="delete">
    <input type="hidden" name="MM_recordId" value="<%= rsPicEdit.Fields.Item("PIC_ID").Value %>">
    </td>
    </form>
    </tr>
    <tr>
    <td align="center" valign="top" colspan="2"><img src="../images/<%=(rsPicEdit.Fields.Item("PIC_IMAGE").Value)%>" width = "<%= imgFixWidth %>" height = "<%= imgFixHeight %>">

    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>

    <%
    rsPicEdit.Close()
    %>
    <%
    rsCat.Close()
    %>


  • Super User

    Ciao cinziab e benvenuta. Potresti dirci qual'è la riga corrispondente nello script che hai postato?


  • User Newbie

    Grazie per avermi risposto, ma sono testarda e guarda e riguarda, prova e riprova ho trovato il malefico errore.

    Grazie comunque davvero tanto. Ci sarà certamente un'altra occasione...sto imparandolo asp:ciauz: