Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
18/05/09 15:50
DjDarkPrince87
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 18/05/09 15:54
aaa
18/05/09 15:56
Il Totem
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.
aaa
18/05/09 16:09
DjDarkPrince87
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 18/05/09 16:17
aaa
18/05/09 16:15
Il Totem
Non hai allegato nulla.
Un esempio:
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.
aaa
18/05/09 16:21
DjDarkPrince87
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. :D

Metto del codice per far capire meglio ovviamente cosa voglio fare..


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 18/05/09 19:40
aaa
21/05/09 18:29
Il Totem
Basta eseguire le due query una dopo l'altra:
dbAdapter.ExecuteNonQuery(Query1)
dbAdapter.ExecuteNonQuery(Query2)
aaa
24/05/09 18:08
DjDarkPrince87
Grazie Totem ho risolto :) thankssss!!
aaa