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