Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di tommy84
    Registrato dal
    Jan 2006
    Messaggi
    109

    problemi con funzione CStr

    Salve, non essendo molto esperto ho usato questa funzione però ho un problemino.

    Questo è un pezzo del Form Action dove ho problemi:

    Codice PHP:
    <input <%If (CStr((rsAcquisti.Fields.Item("Autorizzato").Value)) = CStr("Si")) Then Response.Write("checked=""checked""") : Response.Write("")%> name="Autorizzato" type="checkbox" id="Autorizzato" value="Si">
                </
    td>
              </
    tr>
              <
    tr>
                <
    td height="30" align="right" valign="middle" bgcolor="#7CB490" class="brdbottom style5">Autorizzato da: </td>
                <
    td bgcolor="#F4F4F4" class="brdbottom"><%=(rsUtenti.Fields.Item("USER").Value)%>
                  <
    input name="UserAutorizz" type="hidden" id="UserAutorizz" value="<%=(rsUtenti.Fields.Item("USER").Value)%>">
                </
    td>
              </
    tr>
              <
    tr>
                <
    td height="30" align="right" valign="middle" bgcolor="#7CB490" class="brdbottom style5">Acquistato:</td>
                <
    td bgcolor="#F4F4F4" class="brdbottom">
                  <
    input <%If (CStr((rsAcquisti.Fields.Item("Acquistato").Value)) = CStr("Si")) Then Response.Write("checked=""checked""") : Response.Write("")%> name="Acquistato" type="checkbox" id="Acquistato" value="Si"
    Di default i due valori "Autorizzato" e "Acquistato" sono "0", il problema che ho è il seguente: se spunto solo "Autorizzato" e lascio vuoto "Acquistato" mi genera un'errore "Microsoft OLE DB Provider for ODBC Drivers error '80040e57' [Microsoft][ODBC Microsoft Access Driver]Invalid string or buffer length " Se invece li seleziono tutti e due riesco a effettaure L'UPDATE e me li metti entrami al valore "SI".

    Non so se mi sono spiegato bene, da come ho capito io quando non spunto il codice è scritto male e non mi fa UPDATE del valore della tabella scrivendomi "No", ho provato anche a dare il null a "Acquistato", riesco ad inserire solo l'autorizzazione però poi quando richiamo la pagina mi da un errore nel campo "Acquistato" perchè da come ho letto la funzione CStr non prevede il Null...

    Scusate le troppe parole e spero che qualcuno mi possa dare una mano.

    Grazie

  2. #2
    e dove sta l'istruzione di UPDATE?

  3. #3
    perchè non metti un controllo
    se il valore non è "si" allora è "no"

  4. #4
    Utente di HTML.it L'avatar di tommy84
    Registrato dal
    Jan 2006
    Messaggi
    109
    scusate, allora questa è la sezione di codice dell'UPDATE:

    Codice PHP:
    Dim MM_editCmd

        Set MM_editCmd 
    Server.CreateObject ("ADODB.Command")
        
    MM_editCmd.ActiveConnection MM_ASD_STRING
        MM_editCmd
    .CommandText "UPDATE Acquisti SET Autorizzato = ?, UserAutorizz = ?, Acquistato = ?, DataAcquisto = ? WHERE IDAcquisto = ?" 
        
    MM_editCmd.Prepared true
        MM_editCmd
    .Parameters.Append MM_editCmd.CreateParameter("param1"202150Request.Form("Autorizzato")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 202, 1, 50, Request.Form("UserAutorizz")) ' 
    adVarWChar
        MM_editCmd
    .Parameters.Append MM_editCmd.CreateParameter("param3"202150Request.Form("Acquistato")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 135, 1, -1, MM_IIF(Request.Form("DataAcquisto"), Request.Form("DataAcquisto"), null)) ' 
    adDBTimeStamp
        MM_editCmd
    .Parameters.Append MM_editCmd.CreateParameter("param5"51, -1MM_IIF(Request.Form("MM_recordId"), Request.Form("MM_recordId"), null)) ' adDouble
        MM_editCmd.Execute
        MM_editCmd.ActiveConnection.Close 
    Da altre prove ho capito che praticamente quando la casellina del checkbox non è selezionata il codice non riesce a scrivermi il valore "No" nel Db, infatti se accetto il valore Null a uno dei due e l altro le seleziono, nei campi del DB mi scrive "Si" e l altro campo me lo lascia vuoto.

  5. #5
    Originariamente inviato da tommy84
    non riesce a scrivermi il valore "No" nel Db,
    ma te indichi al db che se il valore non è si allora deve scrivere no?

    io non lo vedo da nessuna parte

  6. #6
    Utente di HTML.it L'avatar di tommy84
    Registrato dal
    Jan 2006
    Messaggi
    109
    ecco, il discorso è proprio quello, come faccio ad inserire del codice che se la casella del checkbox non è selezionata mi deve scrivere " No" nel campo del DB??

    Non riesco a trovare una soluzione, anche perchè non è che sono ferratissimo!

    Grazie.

  7. #7
    quando il valore non è "si " allora assegna "no"...
    hehe non so come dirtelo
    ho scritto 3 risposte tutte uguali

    codice:
    variabile1=request.form("checkbox1")
    variabile2=request.form("checkbox2")
    
    if variabile1<>"si" then
     variabile1="no"
    end if
    if variabile2<>"si" then
     variabile2="no"
    end if
    ora credo sia ancora più chiaro

    e per l'update gli passi i valori contenuti in variabile1 e varianile2 che saranno o "si" o "no"
    chiaramente le checkbox saranno
    codice:
    <input type="checkbox" name="checkbox1" value="si" />
    <input type="checkbox" name="checkbox2" value="si" />

  8. #8
    Utente di HTML.it L'avatar di tommy84
    Registrato dal
    Jan 2006
    Messaggi
    109
    Allora forse non mi sono spiagto bene,
    io devo fare quello che dici tu, ma non posso farlo in quel modo o almeno penso, tu mi dici quando la variabile è no scrivi "No" il confronto lo devo fare con una variabile di riferimento e se quando il checkbox non è spuntato non ho la variabile "No" come faccio a fare il confronto......?????


    Codice PHP:
     <input <%If (CStr((rsAcquisti.Fields.Item("Acquistato").Value)) = CStr("Si")) Then Response.Write("checked=""checked""") : Response.Write("")%> name="Acquistato" type="checkbox" id="Acquistato" value="Si"
    Questo è uno dei due chechbox, se lo seleziono mi scrive "Si" se non lo seleziono non mi scrive "No", qui dentro devo trovare la soluzione al fatto che se non metto la spunta alla casellina del checkbox mi deve scrivere "No".

    Grazie

  9. #9
    ok mi sa che c'è un problema di fondo

    la checkbox passa un certo valore contenuto in "value" (nel tuo caso "Si") solo quando è selezionata, altrimenti non passa niente

    questo vuole dire che quando farai il controllo

    se checkbox1="" vuole dire che checkbox1<>"Si"

    dunque l'if assegnerà a checkbox il valore "No"

  10. #10
    Utente di HTML.it L'avatar di tommy84
    Registrato dal
    Jan 2006
    Messaggi
    109
    Ho capito cosa vuoi dirmi, ma sinceramente non ho capito come devo metterla sotto forma di codice, avevo capito che l'intoppo stava nel fatto del value="Si", però non ho ho capito come devo sistemare per far si che mi scriva "No"......

    Se mi puoi dare qualche ulteriore dritta te ne sarei grato.

    Grazie

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.