Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Inserimento record

  1. #1

    Inserimento record

    Ho un form con una lista dalla quale possono essere selezionati da 1 a 40 valori.

    Come posso splittare questi valori ed inserirli ognuno in un campo diverso e non in solo campo?

    Grazie.

    Ciao

  2. #2
    spiegati meglio... magari con qualche riga di codice...

  3. #3
    Mi rendo conto di essere stato un pò criptico.

    Allora ho un form con vari campi di input ed una lista dalla quale possono scegliere più valori.

    Ora come ora, funziona che all'inserimento ogni valore va in un perciso campo del db ed i valori della lista vanno tutti in un campo separati da una virgola.

    Io ho bisogno che tali valori vengano scritti in un range di campi definito.

    Il problema è che uso lo script che genera dreamweaver per fare l'inserimento e non essendo un programmatore, ma un povero grafico non so da dove iniziare.

    Grazie

  4. #4
    Allora questo è il codice dello script d'inserimento di dw modificato da me.
    Gli faccio fare l'inserimento del record normalmente, subito dopo poi creo una sub di aggiornamento attraverso la quale splitto i valori che la select mi ha inserito tutti dentro un campo del db in più campi.

    Ricevo l'errore alla riga che evidenzio in rosso:
    Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto

    Cosa sbaglio

    codice:
    ' dichiaro le variabili
    
    If (CStr(Request("insert")) <> "") Then
    
      Dim editConnection
      editConnection = pwd_STRING
      Dim editTable
      editTable = "password"
      Dim editRedirectUrl
      editRedirectUrl = "ok.asp"
      Dim fieldsStr
      fieldsStr  = "Riferimento|value|Indirizzo|value|Telefono|value|Fax|value|select|value|numero|value"
      Dim columnsStr
      columnsStr = "contatto|',none,''|indirizzo|',none,''|TelDest|',none,''|FaxDest|',none,''|gestione_1|',none,''|'|NumChiamata|',none,''"
    
    ' creo le array
    
      Dim fields
      fields = Split(fieldsStr, "|")
      Dim columns
      columns = Split(columnsStr, "|")
      
    ' imposto i valori del form 
      
      Dim i
      For i = LBound(fields) To UBound(fields) Step 2
        fields(i+1) = CStr(Request.Form(fields(i)))
      Next
    
    End If
    %>
    <%
    ' inserisco il record
    
    If (CStr(Request("insert")) <> "") Then
    
    ' creo l'sql
    
      Dim tableValues
      tableValues = ""
      Dim dbValues
      dbValues = ""
      For i = LBound(fields) To UBound(fields) Step 2
      Dim FormVal
      FormVal = fields(i+1)
      Dim typeArray
      typeArray = Split(columns(i+1),",")
        Dim Delim
    	Delim = typeArray(0)
        If (Delim = "none") Then Delim = ""
        Dim AltVal
    	AltVal = typeArray(1)
        If (AltVal = "none") Then AltVal = ""
        Dim EmptyVal
    	EmptyVal = typeArray(2)
        If (EmptyVal = "none") Then EmptyVal = ""
        If (FormVal = "") Then
          FormVal = EmptyVal
        Else
          If (AltVal <> "") Then
            FormVal = AltVal
          ElseIf (Delim = "'") Then 
            FormVal = "'" & Replace(FormVal,"'","''") & "'"
          Else
            FormVal = Delim + FormVal + Delim
          End If
        End If
        If (i <> LBound(fields)) Then
          tableValues = tableValues & ","
          dbValues = dbValues & ","
        End if
        tableValues = tableValues & columns(i)
        dbValues = dbValues & FormVal
      Next
      editQuery = "insert into " & editTable & " (" & tableValues & ") values (" & dbValues & ")"
    
      If (Not abortEdit) Then
    
    ' eseguo l'inserimento
    
        Dim editCmd
        Set editCmd = Server.CreateObject("ADODB.Command")
        editCmd.ActiveConnection = editConnection
        editCmd.CommandText = editQuery
        editCmd.Execute
        editCmd.ActiveConnection.Close
        Set editCmd = Nothing
    
    ' creo la sub per dividere i valori della select su più campi    
        
        Dim Selecto
        Dim chiam
        Selecto = request.form("select")
        chiam = request.Form("numero")
    
        Sub Campi()
        Dim CampiRS
    	
    'Apro la connessione con il database e seleziono la tabella del database
          
        Set CampiRS = Server.CreateObject("ADODB.Recordset") 
        Dim query
        Dim connessione 
        connessione = "dsn=pwd;"
        query ="SELECT * FROM password  where NumChiamata ='"+chiam+"'"
        CampiRS.open query,connessione,0,3
    
    
    'Divido quanto ricevuto nel campo Select
    
        Dim ricevo
        Ricevo=split(selecto,",")
    
    'A seconda dei campi attribuisco il valore
    
    CampiRS("Cod_Pr")=Ricevo(0)     
        CampiRS("Cod_Pr1")=Ricevo(1)
        CampiRS("Cod_Pr2")=Ricevo(2)
        CampiRS("Cod_Pr3")=Ricevo(3)
        CampiRS("Cod_Pr4")=Ricevo(4)
        CampiRS("Cod_Pr5")=Ricevo(5)
        CampiRS("Cod_Pr6")=Ricevo(6)
        CampiRS.update
        CampiRS.close
        Set CampiRS=Nothing
        end sub
    
        call campi
    
    
    
    	If (editRedirectUrl <> "") Then
          Response.Redirect(editRedirectUrl)
        End If
      End If
    
    End If

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.