Inserimento su più tabelle

di il
6 risposte

Inserimento su più tabelle

Salve ragazzi, ho un programma con Database Access e sto avendo problemi di sintassi visto che conosco di più l SQL.
Guardate questo codice che posto, devo fare l'insert su più tabelle che sono collegate, quindi hanno chiavi in comune.
In SQL dovrebbe essere cosi
insert into DEMOLI,RICAMBI,APPARTIENE(COD,CODPRODUT,DESC,TIPOART,MARCA,PREZZO,NPRATICA1,TARGA,CILINDRATA,INTCODFISC,INTCOMRES,INCRGS) 
values ('', '','','','','','','','','','','') FROM DEMOLI,RICAMBI,APPARTIENE WHERE COD=ID_RICAMBI AND NPRATICA1=ID_PRATICHE
Mi sapreste scrivere l'equivalente in access?

6 Risposte

  • Re: Inserimento su più tabelle

    Sarebbe interessante capire perchè hai tante tabelle uguali in cui metti gli stessi dati... tuttavia...
    Con JET devi eseguire singoli comandi SQL per ogni Tabella di destinazione, mentre come origine puoi usare una SELECT...
  • Re: Inserimento su più tabelle

    Guarda devo eseguire questa query in un programma C++.NET con database Access.
    Mi sapresti postare il codice da inserire in
    OleDbCommand ^cmd = gcnew  OleDbCommand(" [b]Query[/b] " , connection);
  • Re: Inserimento su più tabelle

    Non c'entra il codice .NET ... devi scrivere la corretta frase SQL tra virgolette al posto di Query e basta
  • Re: Inserimento su più tabelle

    rogerino88 ha scritto:


    Guarda devo eseguire questa query in un programma C++.NET con database Access.
    Mi sapresti postare il codice da inserire in
    OleDbCommand ^cmd = gcnew  OleDbCommand(" [b]Query[/b] " , connection);
    Il linguaggio SQL è universale, e non cambia in base al linguaggio di programmazione.
    Che tu lo esegua in MSAccess, in .NET, ecc. l'enunciato SQL non cambia.

    Quindi la query ce l'hai già, sempre presumendo che sia corretta.

    Però si devono usare i Command con Parametri, per evitare problemi di formattazione che, occorre tenerlo sempre presente, possono cambiare in relazione al tipo di database (motore) su cui devono essere eseguiti.
    Tu stai usando un Command,precisamente l'OleDbCommand, ma senza sfruttarne la comoda funzionalità data dai Parametri, e questo ti procurerà un sacco di grattacapi.

  • Re: Inserimento su più tabelle

    Hai ragione Oregon, ma ancora una piccola mano, guarda questa query:
    DELETE FROM APPARTIENE,DEMOLI WHERE APPARTIENE.ID_PRATICHE = DEMOLI.NPRATICA1 AND ID_PRATICHE = '" + this->id_pratica_del->Text + "' ;
    Questa query è corretta in SQL, e senza l'unione delle 2 tabelle tramite la chiave esterna funziona anche sul programma.
    Sapresti dirmi dove è l'errore su OleDbCommand?
  • Re: Inserimento su più tabelle

    Ho risolto il delete grazie ad un esempio su ***
Devi accedere o registrarti per scrivere nel forum
6 risposte