Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1

    Errore di sintassi nell'istruzione UPDATE

    Salve a tutti e la prima volta che scrivo in un forum quindi non fate caso se il messaggio non è chiaro del tutto.

    A da un paio di mesi che provo a studiare ASP.NET 2 un grandissimo casino, cmq ho un problema con questa striga:

    <script runat="server">
    Sub Page_Load(Obj as Object, E as EventArgs)
    'CREIAMO LA CONNESSIONE
    Dim CONNESSIONE as New OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source = D:\Inetpub\wwwroot\sitoflaccessori\database\magazz ino.mdb")

    'CREA DATASET E OLEDBDATAADAPTER
    Dim DS as New DataSet("MIODATASET")
    Dim OGGCOMDA as New OleDbDataAdapter("SELECT * From articoli WHERE IDarticolo < 10", CONNESSIONE)

    'RIEMPIAMO DATASET
    OGGCOMDA.fill(DS, "articoli")

    'EFFETTUIAMO ALCUNE MODIFICHE SUI DATI
    DS.Tables("articoli").Rows(2)(3) = "ASPVille"

    Dim DR as DataRow = DS.Tables("articoli").NewRow()
    DR(1) = "Massimo"
    DR(2) = "sta provando"
    DR(3) = "a modificare"
    DR(4) = "alcuni"
    DR(5) = "dati"
    'DR(6) = "del Database"
    DS.Tables("articoli").Rows.Add(DR)

    'FORNIAMO UN COMANDO SQL E ATTIVIAMO LA CONNESSIONE
    OGGCOMDA.UpDateCommand = New OleDbCommand
    OGGCOMDA.UpDateCommand.CommandText = "Update articoli" & "Set marcaART = 'MASSIMO' WHERE IDarticolo = 3"
    OGGCOMDA.UpDateCommand.Connection = CONNESSIONE

    'FORNIAMO UN COMANDO SQL E ATTIVIAMO LA CONNESSIONE
    OGGCOMDA.InsertCommand = New OleDbCommand
    OGGCOMDA.InsertCommand.CommandText = "Insert INTO" & "articoli (marcaART, categoriaART, " & _
    "descrizioneART, codiceART, corispART, dispART) VALUES ('Massimo', 'sta provando', " & _
    "'a modificare', 'alcuni', 'dati', 'del database'"
    OGGCOMDA.InsertCommand.Connection = CONNESSIONE

    OGGCOMDA.Update(DS, "articoli")

    End Sub
    </script>

    sto usando l'oggetto OleDbDataAdapter e le relative istruzioni UpDate e insert.

    Ma quando eseguo il codice mi da l'errore

    Errore di sintassi nell'istruzione UPDATE ma che vuole direeeeeeeee!!!!!

    Io per non sbagliare il codice lo messo tutto spero possiate aiutarmi
    AIUTIAMOCI CHE E' MEGLIO

  2. #2
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Questo tipo di errore si verifica quando c'è un errore nella stringa SQL.
    Ti consiglio di commentare il codice nel punto di esecuzione della query di update e fai un response.write della stringa. Una volta che hai la stringa prova a vedere se vedi anomalie, se non le vedi falla eseguire direttamente da access in questo modo ti renderai meglio conto del problema.

  3. #3
    Originariamente inviato da Sonikag
    Ti consiglio di commentare il codice nel punto di esecuzione della query di update e fai un response.write della stringa.
    giusto suggerimento... xo' con visualstudio per fortuna non abbiamo bisogno di fare response.write per vedere il contenuto di una variabile quindi meglio mettere un breackpoint prima dell'esecuzione dell'update e nella finestra locals o watch verificare tutte le varia proprieta (compreso il commandtext dei vari command del dataadapter).
    Riguardo al problema segnalato, e' un uso un po' distorto del dataadapter. Il metodo Update dal dataadapter andrebbe usato per modificare n record sulla base delle modifiche apportate alla datatable passata (righe aggiunte modificate o eliminate). Invece tu gli scrivi staticamente uno statement sql che sarebbe corretto usare con un singolo command.
    Per vedere come creare statement sql corretti da passare al dataadapter, puoi usare ad es. un wizard per la creazione del dataadapter e poi analizzare il codice automaticamente creato. Vedrai che vengono utilizzati parametri che a runtime vengono valorizzati.
    Poi, nel caso specifico, si vede che cosi come la query sql sembra sbagliata
    Update articoli" & "Set marcaART
    produrra
    codice:
    Update articoliSet marcaART
    quindi sintatticamente sbagliata (a meno che non hai una tabella chiamata articoliSet)
    Saluti a tutti
    Riccardo

  4. #4
    come ho accennato nel messaggio non ne capisco un gran che quindi come faccio a inserire un brackpoint nella pagina?

    quello che sto provando io e di modificare i dati memorizzati un un dataset e poi inserirli dopo nel database che si chiama magazzino con una tabella che si chiama articoli.

    e mi genera l'errore al momento dell'inserimento.
    AIUTIAMOCI CHE E' MEGLIO

  5. #5
    Originariamente inviato da massimo82
    come ho accennato nel messaggio non ne capisco un gran che quindi come faccio a inserire un brackpoint nella pagina?
    se usi visual studio fai click alla sinistra della riga dove vuoi interrompere l'esecuzione del codice. Quando l'esecuzione si ferma in quel punto puoi andare avanti passo passo con il pulsante f8 oppure f11 a seconda delle tue impostazioni. Riuscire a fare bene il debug significa risparmiare molto tempo. Ad es. se ci guardi vedrai le stringhe sql passate probabilmente con degli errori.
    quello che sto provando io e di modificare i dati memorizzati un un dataset e poi inserirli dopo nel database che si chiama magazzino con una tabella che si chiama articoli.
    e mi genera l'errore al momento dell'inserimento.
    quello che stai provando a fare e' chiaro. Nel post precedente ti ho spiegato dove stai sbagliando. Visto che hai iniziato dicendo che "stai studiando da 2 mesi" mi chiedo per curiosita dove puoi aver studiato di usare il metodo update del dataadapter cosi come hai postato.
    Saluti a tutti
    Riccardo

  6. #6
    Ciao Riccardo, sta studiando dallo stesso libro che uso io: Asp.net guida completa di Apogeo.

    Ricordi che avevo postato anch'io una cosa simile qui

    a me non dava errore ma non mi aggiungeva nessun record

  7. #7
    Originariamente inviato da zipppo75
    Ciao Riccardo, sta studiando dallo stesso libro che uso io: Asp.net guida completa di Apogeo.
    hihi... ecco svelato l'arcano... piu' che guida completa dovrebbero chiamarlo guida ai bachi
    Saluti a tutti
    Riccardo

  8. #8

  9. #9
    mamma mia che mistone di roba ingarbugliata. In pratica, nella pagina che hai postato vengono istanziati il insertcommand e l'updatecommand e associati al dataadapter ma senza usarli (se li avessero usati probabilmente l'autore si sarebbe reso conto della nefandezza che stava scrivenso). Nella pagina successiva, per la creazione dei command del dataadapter viene utilizzato il famigerato commandbuilder che in pratica analizza la query di selezione dei record e in base alla struttura che gli ritorna dal db crea in automatico i vari select insert e update command. Cosi facendo, questi command funzionerebbero (non certo con i commandtext incriminati e fatti a manina).
    L'unica pecca sarebbe che il commandbuilder non produce codice sql performante e quindi ne viene sconsigliato l'uso.
    Saluti a tutti
    Riccardo

  10. #10
    p.s. figo google libri... non l'avevo ancora visto
    Saluti a tutti
    Riccardo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.