|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[Vb.Net/Access]Inserimento tabella con relazioni
Buona sera ragazzi
Per favore, aiutatemi a capire dove sbaglio ![]() Ho un dannato db fatto con access 97 (non posso cambiarlo purtroppo) ora, ho una tabella di nome: ColorsCode fatta da due campi: Code -> Testo - Chiave primaria ColorName ->Testo Questa tabella ha una relazione con altre tabelle. Ora, succede questo: 1) Non riesco ad inserire nulla nella tabella se non direttamente dal db 2) Quando inserisco qualcosa, mi cancella i dati già presenti. Può dipendere dalle relazioni? Se si, come si popola una tabella avente relazioni con un'altra? Grazie mille RoauL
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Ho fatto qualche piccolo progresso, nel senso che ho capito senz'ombra di dubbio, che senza capire come funzionano le relazioni fra le tabelle non posso riuscire a fare nulla.
Ora, c'è da vb.net un modo che mi permetta di non tenere conto delle relazioni? Oppure, cosa posso indicarvi come tipi di relazioni per potermi far aiutare ? Grazie. RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
altro piccolo step:
la tabella ColorsCode, ha una relazione uno a molti con la tabella ColorsGroup su questi campi: ColorsCode.Code 1 --- molti--->ColorsGroup.CodeGroup ho provato a tradurlo in una insert: Codice:
'pseudo-codice
insert into ColorsCode(Code, ColorsName) VALUES('1', 'Red')
insert into ColorsGroup(CodeGroup) VALUES(ColorsCode.Code)
Plz.....
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
altro piccolo passo fatto durante la notte :
Facendo simultaneamente le diverse insert nelle tabelle relazionate. Solo che succede questo: i dati nel db restano limitatamente alla sessione del programma. Se chiudo e riapro il programma le tabelle del db sono nuovamente vuote
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
In generale devi prima inserire nella tabella 1 ( nella relazione 1-Molti ) e poi nella tabella/tabelle Molti, ossia nelle tabelle dipendenti. In soldoni : Codice:
INSERT INTO ColorsCode ( Code, ColorName ) VALUES ( '4', 'Yellow' ) Codice:
INSERT INTO ColorsGroup ( id, CodeGroup ) VALUES ( 'nuovo_ID', '4' ) |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Grazie per la risposta
Si, come dicevo prima, ci ero arrivato a questa soluzione. Ciò che non riesco assolutamente a spiegarmi è che fin quando il programma è in esecuzione, riesco a vedere i dati inseriti. Se chiudo il programma e lo riapro, le tabelle sono vuote. Ho fatto la prova inserendo i dati anche direttamente in access, e il risultato è lo stesso, cioè, popolo le tabelle, vedo i dati, chiudo access, lo riapro e i dati non ci sono più Cosa devo controllare? Grazie mille ! RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
![]() Se fosse accaduto solo da ADO.NET, magari poteva essere che eseguivi operazini su oggetti Table scollegati e non applicavi le modifiche sul DB... Prima volta che sento di una cosa del genere. Cioè inserisci una voce in tabella, Access non da messaggi di errore, chiudi/riapri e quella voce non c'è più ? Mi sa che quel DB lì ha qualche grosso problema... Esistono macro che scattano all'inserimento ? |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Per quanto riguarda ado.net, ho provato sia utilizzando i tableadapters, sia utilizzando query 'brutali' di inserimento mediante oledb, sia usando oledbparameter. Non so dove sbattere la testa
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Ti chiederei di postarmi il DB, in modo da dargli un'occhiata, ma dovrei sicuramente convertirlo in formato Access 2003 ( conversione a senso unico, perchè non si può più tornare alla ver.'97 ), perchè non uso più Office '97 da una vita. Vedi tu... |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Mi spiego meglio: Ho portato il progetto ed il db su un pc con windows xp, e tutto funziona. Boh, non so proprio che pensare. Almeno, con il progetto sotto windows xp riesco a lavorare. Ti ringrazio davvero tanto comunque per il supporto ! RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Vista ?
Ah beh, su quello non posso proprio aiutarti... L'ho bannato dai miei Pc ad interim, o meglio, considero di pensionare WinXP quando uscirà il S.O. successivo... ( sperando non sia un Vista 2 - la vendetta... ) |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Sistemati i prob sul db, non riesco ad eseguire la insert.
Cioè, sulla prima insert va tutto bene, sulla seconda invece mi dice che: Codice:
L'apporto modifiche non è riuscito perché si è cercato di duplicare i valori nell'indice, nella chiave primaria o nella relazione. Modificare i dati nel campo o nei campi che contengono dati duplicati, rimuovere l'indice o ridefinire l'indice per consentire l'inserimento di voci duplicate, quindi ritentare l'operazione.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
risolto... e ovviamente il messaggio era giusto
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:20.






















