Newsgroup: it.comp.lang.visual-basic
Titolo: INSERT, problema con chiave primaria

Buongiorno.
Ho una tabella "Registi" in MsAccess costituita da seguenti 5 campi :
- ID Regista (PK, contatore)
- Nome (stringa)
- Cognome (stringa)
- Nazione (stringa)
- Nascita (stringa)
Sapreste indicarmi dove sbaglio quando tento di effettuare una INSERT
passando tutti i campi eccetto la chiave primaria ?
Effettuo la INSERT nel modo seguente
INSERT INTO Registi values (Nome, Cognome, Nazione, Nascita)
Se l'errore è nel mancato inserimento dell'ID Regista, sapreste
indicarmi quale valore devo associare all'ID Regista ? Devo prima
ricavare il valore della chiave primaria effettuando una query sulla
tabella Registi e successivamente sommando un valore all'ultimo record
della tabella Registi (cioè sommando il valore ottenuto dal campo ID
Regista dell'ultimo record della query)?
Vi ringrazio anticipatamente per l'eventuale aiuto.
Un neofita.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Regista dell'ultimo record della query)?
Direi di no, ovvero che dovrebbe andar bene cosě (l'ID viene assegnato
automaticamente), ma qual č l'errore?

 Regista dell'ultimo record della query)?
se ID regista č un campo contatore (autoincremento) fai cosě:
INSERT INTO Registi (Nome, Cognome, Nazione, Nascita)
values (vNome, vCognome, vNazione, vNascita)
se invece č un long e lo gestisci a mano:
INSERT INTO Registi values (ID Regista, Nome, Cognome, Nazione, Nascita)
dove tu incrementi ogni volta ID Regista
--
bye BlackMagic
ICQ: 85485468

 automaticamente), ma qual è l'errore?


 destinazione"
La soluzione te l'ha già data BlackMagic!
Ciao!
--
Esteban
Hosted by 
www.seber.it
(Remove nonspammare for reply)

 L'ambiente di sviluppo è VB 6.0 con Service Pack n° 5.
[SNIP]
La risposta corretta e' stata postata da BlackMagic
piu' in generale, quanto nell'istruzione INSERT non vuoi includere tutti i
campi della tabella (oppure li vuoi includere tutti ma in un ordine
diverso), prima della proposizione VALUES devi elencare i nomi di colonna
che intendi inserire.
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 ICQ: 85485468


values (vNome, vCognome, vNazione, vNascita)
La differenza dovrebbe essere chiara; se ti hanno confuso i nomi nel capire
cosa e' testo e cosa e' valore prova a leggerla in questo modo:
INSERT INTO Registi (Nome, Cognome, Nazione, Nascita) values (" _
 & vNome & "," & vCognome & "," & vNazione & "," & vNascita & ")"
Gia che ci siamo, ti annoio con due piccole note...
il "+" come simbolo di concatenazione funziona ma non e' particolarmente
indicato in un linguaggio come VB dove le conversioni implicite si sprecano;
usare "&" evita qualsiasi possibile ambiguita'.
Ricordati che in una query SQL non basta aggiungere gli apici in testa e in
fondo ai campi stringa, devi anche essere sicuro che se il valore contiene
un carattere "'", questo venga raddoppiato per essere interpretato
correttamente.


 ha scritto nel messaggio
news:299f69af1e34913557b...@mygate.mailgate.org...


 "pluto", "paperolandia", "1930")
[deforestazione]
suppongo che parlare di quoting sia escluso, eh? :-|
aloha
--
Stefano Zamboni 
sz...@libero.it
Legge di Ruckert:
Non c'è problema tanto piccolo che non possa essere ingigantito.