PDA

View Full Version : Per chi mastica asp


Kinh
06-09-2003, 00:20
ragazzi ho bisogno di una mano
una cosa che non ho imparato ancora mannaggia è l'asp :rolleyes:

dovrei fare una cosa del genere

una pagina con vari campi tipo

Nome
Cognome
Indirizzo
Numero
Commenti

INVIO



tutte le volte che vengono compilati i campi vengono archiviati un database che boh penso si possa fare con un foglio exel o un txt addirittura

mi servirebbe pure urgentemente
chiedo aiuto a voi plz

non so una cippa di asp

Dr. Death
06-09-2003, 00:30
Non ci vuole molto a farlo, anche se magari è più comodo usare un db access anziché un file di testo o excel, per quello che chiedi :)

In pratica vuoi creare un report con le righe editabili (datagrid) oppure un form che una volta inviato inserisce i dati inputati nel database, creando un record?

Kinh
06-09-2003, 00:32
Originariamente inviato da Dr. Death
Non ci vuole molto a farlo, anche se magari è più comodo usare un db access anziché un file di testo o excel, per quello che chiedi :)

In pratica vuoi creare un report con le righe editabili (datagrid) oppure un form che una volta inviato inserisce i dati inputati nel database, creando un record?
ecco esatto
tipo 100 persone compilano il form e inviano

mi ritrovo tutto bello in ordine in un databse
nomi, cognomi etc

che mi aiuti mica? :flower:

Dr. Death
06-09-2003, 00:42
Supponiamo che tu voglia utilizzare un db Access di nome "Database.mdb" (che fantasia, eh? :p ) e che sia 'raggiungibile' attraverso un DSN di nome "Database" ( :D )

Crei la paginetta col form, e tutti i campi che saranno associati a campi database durante l'inserimento. Supponiamo, per semplicità, che i campi siano tutti di tipo testo semplice....
Avresti una pagina con un form del tipo

(es. pagina 'form.asp')


<form name = "form" method = "post" action = "insert.asp">
<input type = "text" name = "campo1">
<input type = "text" name = "campo2">
<input type = "text" name = "campo3">
<input type = "submit" name = "Invia">
</form>



e una pagina di inserimento dati, richiamata dalla pagina del form all'azione dell'invio, del tipo

(insert.asp)


Sql1 = ""
Sql2 = ""

For Each sField In Request.Form
Sql1 = Sql1 & ", " & sField
Sql2 = Sql2 & ", '" & Request.Form(sField) & "'"
Next

Sql = "Insert Into NomeTabellaDatabase (" & Mid(Sql1, 2) & ") Values (" & Mid(Sql2, 2) & ")"

Set Cn = Server.CreateObject("Adodb.Connection")

With Cn
.Open "Database"
.Execute Sql
.Close
End With

Set Cn = Nothing



E' un esempio molto banale....senza controllo sui campi, e con campi del form tutti di tipo testo con nomi uguali a quelli del database....
Se ti serve modificarlo non nhai che da chiedere :)

Kinh
06-09-2003, 00:44
guarda non prendermi per sfaticato ma ho i miei buoni motivi
mi faresti un esempio da scaricare che lo metto su un server e lo provo?

è l'unico modo per farmi imparare :rolleyes:

Dr. Death
06-09-2003, 00:46
Originariamente inviato da Kinh
guarda non prendermi per sfaticato ma ho i miei buoni motivi
mi faresti un esempio da scaricare che lo metto su un server e lo provo?

è l'unico modo per farmi imparare :rolleyes:


perché non sai copiare gli esempi per le pagine del form e dell'insert di sopra? :D

Kinh
06-09-2003, 00:48
Originariamente inviato da Dr. Death
perché non sai copiare gli esempi per le pagine del form e dell'insert di sopra? :D
ehehhe no è che ogni volta che qualcuno mi aiuta faccio 500000 prove e non mi va mai e finisco a smadonnare per settimane
se tu me lo fai al volo so che non posso avere cannato una mazza

Dr. Death
06-09-2003, 00:50
Originariamente inviato da Kinh
ehehhe no è che ogni volta che qualcuno mi aiuta faccio 500000 prove e non mi va mai e finisco a smadonnare per settimane
se tu me lo fai al volo so che non posso avere cannato una mazza


Tanto per cominciare crea una tabella Access, e dimmi nomi e tipo dei campi....

Kinh
06-09-2003, 00:53
Originariamente inviato da Dr. Death
Tanto per cominciare crea una tabella Access, e dimmi nomi e tipo dei campi....
adesso mi smadonni te
giuro non so usare access :(
mai usato in tutta la mia esistenza

i nomi dei campi

Nome
Cognome
Serata


poi se ne servono altri ci penso in futuro
la massima soddisfazione è che vada :D


hai mica icq o messenger?

Dr. Death
06-09-2003, 01:03
Per creare una tabella con Access è fin troppo semplice.... basta che apri il programma e te ne accorgi :D

nell'esempio crea una tabella di nome "Contatti"

Per le pagine, avrai:

pagina Form.asp: è la pagina che contiene il form con l'inserimento dei campi



<form method = "post" action = "insert.asp">
<input type = "text" name = "Nome">
<input type = "text" name = "Cognome">
<input type = "text" name = "Serata">

<input type = "submit" name = "Invia">
</form>



e la pagina Insert.asp che inserisce i dati nel db creando un record...



<%

Function NoApice (sStringa)
NoApice = Replace(sStringa, "'", "''")
End Function

sNome = Request.Form ("Nome")
sCognome = Request.Form ("Cognome")
sSerata = Request.Form ("Serata")
dSerata = cDate (sSerata)
sSerata = Year(dSerata) & "/" & Month(dSerata) & "/" & Day(dSerata)

Sql = "Insert Into Contatti (Nome, Cognome, Serata) Values ('" & NoApice (sNome) & "', '" & NoApice (sCognome) & "', #" & sSerata & "#)"

Set Cn = Server.CreateObject ("Adodb.Connection")
With Cn
.Open "Database"
.Execute Sql
.Close
End With
Set Cn = Nothing


%>

Kinh
06-09-2003, 01:08
mi sono accorto ora di non avere office :eek:


cazz sono su un portatilo vecchio

Kinh
06-09-2003, 01:15
ah non ce l'ho!!

faccio crea db nuovo e lo salvo
ok?

poi come metto le pagine sul sito etc?

Kinh
06-09-2003, 01:25
bo non so se ho creato la tabella in maniera giusta
non ci capisco na cippa

tiè vedi un po

Dr. Death
06-09-2003, 14:32
Va bene...solo che dovresti cambiare i nomi dei campi nelle pagine con quelli che hai effettivamente messo nel db... ;)

FreeMan
06-09-2003, 14:37
spostato in PROGRAMMAZIONE

(altra sezione poteva essere WEB & PROVIDER)

MOVED!!

>bYeZ<

Kinh
06-09-2003, 17:49
Originariamente inviato da Dr. Death
Va bene...solo che dovresti cambiare i nomi dei campi nelle pagine con quelli che hai effettivamente messo nel db... ;)
emm cioè?