8 messaggi dal 11 marzo 2003
Salve,
ho riscontrato il seguente problema provando a inserire dati da un form in un database MySql.
La connessione funziona, ma quando provo a inserire i dati utilizzando l'oggetto Command.


Dim name,comments
name=Server.HTMLEncode(Request.Form("name"))
comments=Server.HTMLEncode(Request.Form("comments"))
instbl="INSERT INTO tblcomments(Name,Comments)"
instbl= instbl & "VALUES('"& name & "','" & comments & "');"
Response.Write(instbl & "<BR>")
'adoConn.Execute instbl
'adoCon.Execute("INSERT INTO tblComments(Name,Comments) VALUES(name,comments)")
'Response.Write("dati inseriti")
Set cm = Server.CreateObject("ADODB.Command")
cm.ActiveConnection=adoCon
cm.CommandText="INSERT INTO tblComments(Name,Comments) VALUES(?,?)"
cm.CommandType=adCmdText
Set parname=cm.CreateParameter(, 11, , 111, name)
oppure
Set parname=cm.CreateParameter(name)
cm.Parameters.append parname
Set parcomm=cm.CreateParameter(, 11, , 111, comments)

'Set parcom=cm.CreateParameter(comments,11, ,111)
cm.Parameters.append parcomm
cm.Execute
rsAddComments.Close
Set rsAddComments = Nothing
Set adoCon = Nothing

Viene restituito il seguente messaggio d'errore:
Error Type:
ADODB.Command (0x800A0D5D)
Il tipo di valore utilizzato dall'applicazione non è valido per l'operazione corrente.
Se invece definisco passo a CreateParameter solo il valore che inserirò nel database viene
restituito il seguente messaggio d'errore:
L'oggetto Parameter non è stato definito correttamente. Le informazioni fornite sono incoerenti o incomplete.
Vorrei sapere dove trovare maggiori risorse che trattano dell'ADO e dei suoi oggetti, tra cui Command.
In attesa di un gentile riscontro, porgo distinti saluti.
56 messaggi dal 09 giugno 2003
Spero possa aiutarti, eccoti come faccio di solito io..


dato un file di nome "sql" dove inserisco la mia istruzione sql
sql = "INSERT INTO tabella(campo(1),...,campo(n))"

basta che esegui il tuo sql via adodb(qui i parametri sono per sql server, ma se ti servono ti do anche quelli per altri tipi di sistemi, es access etc..)

strconn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=;password=;Initial Catalog=database_name;Data Source=server_name"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strconn
conn.Execute(sql)
Conn.Close
set Conn = Nothing


spero possa servirti

ciao

giorgio

"Ride the infinity, be your best. For you, for all

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.