6 messaggi dal 20 giugno 2021
Salve. Sto provando a inserire dei dati( che sono stati inviati da un utente attraverso un form) in un database access. Non mi dà nessun errore, ma quando apro il database non appare nessun nuovo record. Perchè?? Ho provato di tutto ma niente...
<%

dim risposta1
dim risposta2
dim risposta3
dim risposta4
dim risposta5
dim risposta6
dim conn
dim rs
dim strsql
risposta1=request.form("risp1")
risposta2=request.form("risp2")
risposta3=request.form("risp3")
risposta4=request.form("risp4")
risposta5=request.form("risp5")
risposta6=request.form("risp6")
set conn=server.createobject("adodb.connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("database.mdb")
strsql= "insert into t_risposte(risposta1,risposta2,risposta3,risposta4,risposta5,risposta6) values('" & risp1 & "','" & risp2 &"','" & risp3 & "','" & risp4 & "','" & risp5 & "','" & risp6 & "');"
set rs=server.createobject("adodb.recordset")
rs.open strsql,conn
response.write ("<p style='color:white;font-size:20px;text-align:center';>Le tue risposte al questionario sono state registrate</p>")
set rs=nothing
conn.close
set conn=nothing
%>
35 messaggi dal 04 luglio 2003
Penso che sia perché un'istruzione di tipo insert non riesce ad essere eseguita tramite un oggetto recordset, ma va usata un'istruzione tipo execute command
6 messaggi dal 20 giugno 2021
Ho provato ma non funziona ugualmente... Non mi dà errori ma quando apro il database non c'è niente
256 messaggi dal 30 novembre 2004
Prova cosi:
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;

command.CommandText = "INSERT INTO tblcustomer (customername, Name, Surname)
VALUES(@custname, @name, @surname)";
command.Parameters.AddWithValue("@custname", txt_customername.Text);
command.Parameters.AddWithValue("@name", txt_Name.Text);
command.Parameters.AddWithValue("@surname", txt_Surname.Text);

command.ExecuteNonQuery();

connection.Close();
6 messaggi dal 20 giugno 2021
mexico77 ha scritto:
Prova cosi:
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;

command.CommandText = "INSERT INTO tblcustomer (customername, Name, Surname)
VALUES(@custname, @name, @surname)";
command.Parameters.AddWithValue("@custname", txt_customername.Text);
command.Parameters.AddWithValue("@name", txt_Name.Text);
command.Parameters.AddWithValue("@surname", txt_Surname.Text);

command.ExecuteNonQuery();

connection.Close();


In questo caso dove doveri inserire tutta questa parte? Ho provato un pò io ma mi dà questo errore: connection.Open();
Description: Prevista fine istruzione
scusa ma sto ancora imparando...
Modificato da randomperson il 21 giugno 2021 18:21 -
256 messaggi dal 30 novembre 2004
Lascia perdere la connection puoi usare il tuo codice, vedi la parte finale dell'execute no query
6 messaggi dal 20 giugno 2021
Ho provato di nuovo ma non mi inserisce niente nel database lo stesso, inserisce solo una riga vuota. Non saprei davvero cosa fare ma grazie comunque del tuo aiuto
256 messaggi dal 30 novembre 2004
Inserisci solo una roga vuota? Quindi inserisce?
Ma in debug hai visto se ti recupera correttamente i valori delle risposte?

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.