
DjDarkPrince87 (Normal User)
Newbie
    
Messaggi: 5
Iscritto: 18/05/2009
|
Questo topic è stato chiuso dal moderatore Salve ragazzi sono appena entrato a far parte della ciurma e voglio subito mettermi al lavoro assieme a voi.. ho un problema che non riesco a risolvere in quanto non ho trovato guide al riguardo.. il professore ci ha dato un compito.. quello di creare una tabella con la seguente struttura:
1° Tabella: CDMUSICALI (CD_ID, TITOLO, DURATA, PREZZO, ID_AUTORE, ID_CASAMUSICALE, POSIZIONE, DATA_USCITA)
2°Tabella: AUTORE (AU_ID, NOMINATIVO, NAZIONALITà)
3°Tabella: CASADISCOGRAFICA (DI_ID, NOME, CITTà)
Adesso le tabelle sono così relazionate:
CD_ID è di tipo contatore, ID_AUTORE è intero lungo, ID_CASAMUSICALE è intero lungo, AU_ID è di tipo contatore, DI_ID è anch'esso di tipo contatore.
Ora DI_ID è relazionato con ID_CASAMUSICALE e AU_ID è relazionato con
ID_AUTORE.
Adesso il tutto i campi sono immessi in un singolo form nel quale devo effettuare il salvataggio , la modifica, la cancellazione, la ricerca e la lista.
Verrebbe più facile dividere il programma in tre form.. questo lo so ma mi interessava sapere come effettuare una simile operazione.. Adesso ho letto su nternet che non si possono effettaure inserimenti multipli con insert into su più tabelle in maniera continua..però non sono riuscito a reperire nessun codice al riguardo.. vi sarei molto grato se qualcuno di voi mi aiutasse in questo dilemma Vi ringranzio per ogni vostro eventuale aiuto in merito.grazie..
Ultima modifica effettuata da DjDarkPrince87 il 18/05/2009 alle 17:54 |
|

Il Totem (Admin)
Guru^2
    
Messaggi: 3635
Iscritto: 24/01/2006
|
Basta mantenere la connessione e l'adapter in comune tra i form, ad esempio mettendoli in un modulo e dichiarandoli come campi o proprietà pubbliche. Lo stesso vale se stai usando Linq, rendendo la connessione e il data context pubblici.
Per il resto, si tratta solo di dividere i controlli tra le varie finestre.
|
|

DjDarkPrince87 (Normal User)
Newbie
    
Messaggi: 5
Iscritto: 18/05/2009
|
Ok.. ma scusa se magari te lo chiedo.. siccome io sono ancora novellino in queste cose.. se ti posto in allegato il programma che sto creando.. mi potresti fare un'esempio di inserimento tramite il modulo.. io uso il modulo per la connessione ma non so ancora gestir bene..ti ringrazio
P.S: in allegato il programma da me fatto..
Ultima modifica effettuata da DjDarkPrince87 il 18/05/2009 alle 18:17 |
|

Il Totem (Admin)
Guru^2
    
Messaggi: 3635
Iscritto: 24/01/2006
|
Non hai allegato nulla.
Un esempio:
Codice sorgente - presumibilmente VB.NET |
Module Globals Public Connection As OleDb.OleDbConnection 'o sql, dipenda da cosa usi Public Adapter As OleDb.OleDbDataAdapter End Module
|
Essendo il modulo per sua natura statico, queste variabili sono condivise da tutta l'applicazione.
|
|

DjDarkPrince87 (Normal User)
Newbie
    
Messaggi: 5
Iscritto: 18/05/2009
|
Va bene per la connessione.. scusa siccome era .rar non me lo ha caricato..ecco l'allegato.. per lo più volevo sapere come fare l'insemriento da modulo sulle tabelle..che non saprei come fare..
Edit: Edito perché mi sono spiegato male.. in sostanza vorrei fare più query concatenate fra di loro ma non so come si fa.. non mi riescono con tutto che ora sto uscendo pazzo su internet.. se qualcuno di voi me le potesse spiegare a livello di codice sulla base del mio programma gli sarei veramente grato.
Metto del codice per far capire meglio ovviamente cosa voglio fare..
Codice sorgente - presumibilmente VB.NET |
Dim db As New OleDb.OleDbConnection(Connessione) Dim cmd As New OleDb.OleDbCommand(Sql, db) Dim tb As OleDb.OleDbDataReader Dim Sql As String Dim Connessione As String Connessione = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\NoleggioCD.mdb;User ID=;Password=;" Try Sql = "INSERT INTO tblCDMUSICALI(TITOLO, DURATA, PREZZO, POSIZIONE, DATA_USCITA)" Sql = Sql & "VALUES('" & CorreggiApice(Me.txtTitolo.Text) & "', '" & CorreggiApice(Me.txtDurata.Text) & "'" Sql = Sql & ", '" & CorreggiApice(Me.txtPrezzo.Text) & "', '" & CorreggiApice(Me.txtPosizione.Text) & "'" Sql = Sql & ", '" & CorreggiApice(Me.txtDataUscita.Text) & "');" & _ "INSERT INTO tblAUTORE (NOMINATIVO, NAZIONALITÀ)" Sql = Sql & "VALUES ('" & CorreggiApice(Me.txtNominativo.Text) & "', '" & CorreggiApice(Me.txtNazionalità.Text) & "')" Catch ex As Exception MsgBox(ex.Message) End Try
|
La prima funziona se togliendo & _ e la prossima query.. non so in pratica come creare un'altra query..
Ultima modifica effettuata da DjDarkPrince87 il 18/05/2009 alle 21:40 |
|

Il Totem (Admin)
Guru^2
    
Messaggi: 3635
Iscritto: 24/01/2006
|
Basta eseguire le due query una dopo l'altra:
Codice sorgente - presumibilmente Plain Text |
dbAdapter.ExecuteNonQuery(Query1)
dbAdapter.ExecuteNonQuery(Query2)
|
|
|

DjDarkPrince87 (Normal User)
Newbie
    
Messaggi: 5
Iscritto: 18/05/2009
|
Grazie Totem ho risolto thankssss!!
|
|