Modificare un records

  • Creatore Discussione Creatore Discussione Nik
  • Data di inizio Data di inizio

Nik

Utente Attivo
15 Set 2004
92
1
8
34
Sono sempre io. Lo so, vi stresso in una maniera incredibile :dipser:
Comunque sia ho bisogno di voi =D

Ho creato nel mio sito un'area privata, per soli utenti registrati, e fino a qui ci siamo. Dentro l'area vorrei che gli utenti potessero inserire interventi [ma a questo ci penso dopo] e potessero modificare alcuni loro dati personali.

Ora cercando un pò in giro, ho "scoperto" che quando si fa la connessione al database.. invece ad esempio di selezionare dei campi come ad esempio ID [ogni volta mi scordo se sono loro che si chiamano record oppure recorset.. cmq sia] si può mettere un altro attributo.. UPDATE, DELETE e INSERT.

Mettendo per ipotesi che la connessione al mio database sia la seguente:

<%

Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=..../database.mdb;"


set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM Tabella Where ID = "& Request("ID") &" "
rs.Open SQL, conn

%>

Io per modificare un qualsiasi dato all'interno del database, dovrei inserire al posto di select ad esempio update, specificare che deve prendermi un determinato id e via dicendo.. Non so se il procedimento è giusto, è da questa mattina che ci smanetto :hammer:

Beh fatemi sapere, se non avete capito alla fine che deve fare l'utente all'interno dell'area privata fatemelo sapere che mi spiego un pò meglio :D
 
Beh intanto sto cercando di fare chiarezza con i recordset e tutto il resto. Leggendo questa guida..
Quindi se non ho capito male..

Il RecordSet è l'insieme dei Record.. che a sua volta sono le righe che si trovano in un database ??

Se questo che ho appena scritto è giusto.. allora ritornando al discorso di prima, voglio un modo [in asp] che permette agli utenti di modificare tramite la lora area privata alcuni Record che li riguardano. Spero di essere stata un pò più chiara.

:byebye:
 
Nik ha scritto:
...Il RecordSet è l'insieme dei Record.. che a sua volta sono le righe che si trovano in un database ??...
Ciao! :D

Esatto: :book:
come sai, i dati salvati nei DB sono contenuti nelle tabelle, le quali sono costituite da colonne, i CAMPI (nome, cognome, indirizzo ecc...), e da righe, i RECORD.
Il RECORDSET è l'oggetto che memorizza i record estratti dalle query. ;)

Se vuoi permettere agli utenti di modificare i loro dati ti consiglio di creare un input text al cui interno gli utenti dovranno inserire la loro password personale.

Quando cliccheranno il bottone di conferma si attiverà una ASP che andrà a fare una
SELECT * nella tabella del DB contenente i dati utente
WHERE psw_utente(campo della tabella)=password_inserita_nell_input_TEXT

Se non verrà trovata nessuna corrispondenza verrà segnalato all'utente che la password inserita è errata, altrimenti mostrerai a video i dati utente contenuti nell'oggetto recordset.

Più o meno hai capito?

Se vuoi una mano sono qui! :byebye:
 
Diciamo che per aver capito ho capito =D
Il problema e che non so mettere insieme il codice. Sono ancora alle prime armi :S

Mi stavo quindi appoggiando a un esempio di gestione di Record che ho trovato sul sito si Luca Ruggiero.
E alla fine è proprio quello che mi serve. Solo che dovrei togliere la fase dell'inserimento dati, e collegarlo al giusto database, dove tutti i dati sono già stati inseriti in una precedente registrazione.

Ora ricomincio a smanettare, per vedere se posso fare una pagina di prova, capito il maccanismo cercherò di adattarlo al mio sito ^___^

Ti faccio sapere appena ci capisco qualche altra cosa :hammer:

Metto comunque in allegalo i file che ho trovato e su cui sto lavorando adesso.

:byebye:
 
Finalmente una femminuccia tra noi! Era ora!! :rolleyes:

Ti basta cercare la sintassi giusta del comando Update di SQL!
Fai una ricerchina su internet e trovi quello che ti serve!
E poi è come hai scritto tu, invece di select, devi usare Update e giusto per farti un esempio(non ricordo mai la sintassi) dovrebbe essere

UPDATE tabella SET colonna = valore di modifica WHERE colonna = id univoco della riga
 
Sempre in relazione ai file che ho messo poco fa.. Beh ho cominciato a smanettare, perchè volevo passare dal codice JScript ad Asp, cercando di fare una cosa simile.. e andando ad intuito purtroppo :mad:
Beh ora però non riesco proprio a procedere. Il file è inserisci.asp

Questa è la versione orginale:

<%@LANGUAGE = JScript%>
<!--#include file="config.inc"-->
<%
var azione= new String(Request.QueryString("azione"));
%>
<html>
<head>
<title>Inserisci nuovi dati</title>
<style type="text/css">
td, p { font: Normal 12px Verdana; }
a { color: #0000FF; }
a:hover { color: #FF0000; }
</style>
</head>
<body>

<table align="center" width="400" cellpadding="1" cellspacing="0" border="1">
<form method="POST" action="inserisci.asp?azione=ADD">
<tr>
<td colspan="2"><b>Inserisci nuovi dati </b></td>
</tr>
<tr>
<td width="150">Nome</td>
<td width="250">
<input type="text" name="nome" maxlength="50" style="width: 100%;" size="20"></td>
</tr>
<tr>
<td>Cognome</td>
<td>
<input type="text" name="cognome" maxlength="50" style="width: 100%;" size="20"></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Inserisci"></td>
</tr>
<tr>
<td><a href="index.asp">Leggi</a></td>
<td align="right">by <a href="http://www.lukeonweb.net" target="_blank">lukeonweb.net</a></td>
</tr>
</form>
</table>

<%
if (azione== "ADD")
{
var nome = new String(Request.Form("nome"));
var cognome = new String(Request.Form("cognome"));
if (nome == "" || cognome == "")
{
Response.Redirect("inserisci.asp");
}
else
{
var Rs = new ActiveXObject("ADODB.Recordset");
Rs.Open("dati",Cn,3,3);
Rs.AddNew();
Rs("nome") = nome;
Rs("cognome") = cognome;
Rs.Update();
Rs.Close();
Cn.Close();
Response.Write("<p align=\"center\">Inserimento effettuato!</p>");
}
}
%>

</body>
</html>


Questa è quella che ho modificato io:
Chissà quanti errori ci saranno

<!--#include file="config.inc"-->
<%
azione = Request.QueryString("azione")
%>
<html>
<head>
<title>Inserisci nuovi dati</title>
<style type="text/css">
td, p { font: Normal 12px Verdana; }
a { color: #0000FF; }
a:hover { color: #FF0000; }
</style>
</head>
<body>

<table align="center" width="400" cellpadding="1" cellspacing="0" border="1">
<form method="POST" action="inserisci.asp?azione=ADD">
<tr>
<td colspan="2"><b>Inserisci nuovi dati </b></td>
</tr>
<tr>
<td width="150">Nome</td>
<td width="250">
<input type="text" name="nome" maxlength="50" style="width: 100%;" size="20"></td>
</tr>
<tr>
<td>Cognome</td>
<td>
<input type="text" name="cognome" maxlength="50" style="width: 100%;" size="20"></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Inserisci"></td>
</tr>
<tr>
<td><a href="index.asp">Leggi</a></td>
<td align="right">by <a href="http://www.lukeonweb.net" target="_blank">lukeonweb.net</a></td>
</tr>
</form>
</table>

<%
if (azione = "ADD") Then

nome = Request.Form("nome")
cognome = Request.Form("cognome")
if ("nome") = "" AND ("cognome") = "" Then

Response.Redirect("inserisci.asp")


End If


Rs = CreateObject("ADODB.RecordSet")
Rs.Open sql()
Rs.Add()
Rs("nome") = nome
Rs("cognome") = cognome
Rs.Update()
Rs.Close()
Cn.Close()
Response.Write("Inserimento effettuato!")

%>

<%
End If
%>

</body>
</html>


IL problema in particolare lo riscontro qui:

Rs.Open sql()

Scusatemi se questo post magari è troppo lungo :S Spero in una vostra risposta.. Sono particolarmente pericolosa :fonzie:
Nel frattempo cercherò di escogitare qualche altra cosa..


daviduccio ha scritto:
Finalmente una femminuccia tra noi! Era ora!! :rolleyes:

Aggiungerei poco capace e insignificante :D
 
Ultima modifica:

Discussioni simili