6 messaggi dal 30 dicembre 2011
buongiorno, ho un problema che non riesco a risolvere nonostante ci abbia sbattuto la testa per un pò.
la situazione è questa:
ho 3 tabelle così composte

societa
id_soc
ragionesociale
stato_id
tiposoc_id

stato
stato_id
stato

tiposoc
tiposoc_id
tiposoc

in pratica la mia detailsview dovrebbe prendere i dati delle tre tabelle, visualizzando solo i campi ragionesociale, stato e tiposoc
la stringa che ho impostato è una SELECT * FROM societa, stato, tiposoc WHERE stato.stato_id=societa.stato_id and tiposoc.tiposoc_id=societa.tiposoc_id

Ora il problema che tutto funziona, ma non riesco a capire come scrivere la stringa per l'update, l'inserimento e la cancellazione.

QUalche altra nota: sto usando un database access ed expression web.
Qualcuno saprebbe illuminarmi?
Grazie
108 messaggi dal 09 novembre 2005
l'update dovrebbe essere su 3 pagina diverse:
update/insert società: in questa avrai bisogno di combobox che permettano di specificare l'id per lo stato e per il tiposoc,
l'id in chiave fallo assegnare dal db.

UPDATE tabella SET campo1=valore [...] WHERE tabella.id = idRecordToUpdate
INSERT INTO tabella (campo1, campo2[..]) VALUES (valore1,valore2 [...])
DELETE tabella WHERE tabella.id = idRecordToDelete

update/insert stato: questa dovresti avere solo la possibilità di aggiornare il campo descrittivo, l'id fallo assegnare al db

update/insert tipisoc: questa dovresti avere solo la possibilità di aggiornare il campo descrittivo, l'id fallo assegnare al db

E' questo che volevi sapere?
Modificato da dakyn77 il 05 gennaio 2012 12.03 -

Consiglio visto che usi access, quando non sai come fare una query, falla da access e poi passa in modalità SQL, così vedi come l'ha scritta.
Modificato da dakyn77 il 05 gennaio 2012 12.04 -
6 messaggi dal 30 dicembre 2011
Sostanzialmente si, ma vediamo se ho capito bene.
Poniamo che io debba solo aggiornare il campo ragionesociale, la stringa sarebbe

UPDATE societa SET ragionesociale=ragionesociale WHERE id_soc=id_soc

è corretto? perchè ho provato ma non riesco a farlo funzionare...
108 messaggi dal 09 novembre 2005
Esempio:

Record della tabella Clienti
Recordo1: ID = 23 RagioneSociale = 'Microsoft'
Recordo2: ID = 35 RagioneSociale = 'Canon'

UPDATE Clienti SET RagioneSociale = 'Microsoft S.p.A.' WHERE ID = 23

Questo update corregge la ragione sociale del record con ID 23

Ma ti da qualche errore?
6 messaggi dal 30 dicembre 2011
Il problema è la parametrizzazione del tutto.
Perchè la sintassi ora mi è chiara, ma non riesco a fare in modo che il valore sia assegnato.

Insomma come faccio a dire alla stringa update di utilizzare i campi della mia detailsview per aggiornare i campi del DB?
La detailsview ha dei Boundfield che si chiamano come i campi, ecco perchè ho usato istruzione tipo
UPDATE societa SET ragionesociale=ragionesociale WHERE id_soc=id_soc
ma sicuramente sbaglio a dire alla query dove trovare i dati...
6 messaggi dal 30 dicembre 2011
Accidenti finalmente ho capito!
Il problema è che nel database che sto usando, molto più ampio di quello che ho riportato qui, ho nascosto alcuni campi, tra cu proprio l'ID che invece serve per fare funzionare il tutto.

Il problema ora è che devo fare in maniera tale che quell'ID non sia modificabile, ma qualunque cosa faccio, che lo renda invisibile, o che lo tolga, o anche a solo renderlo readonly, l'update non funziona. Immagino sia sempre dovuto al fatto che la stringa UPDATE non riconosca l'ID. Solo che non so cosa altro fare perchè non ho altri campi da utilizzare per il riconoscimento di quei dati!
qualcuno mi sa aiutare?
Modificato da elkingo il 05 gennaio 2012 17.33 -

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.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC