Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [VB:NET] aggiornare db -- Dataset

    Buongiorno a tutti
    non riesco ad aggiornare il db dopo aver aggiunto una riga al dataset posto sotto il codice e poi mi spiego meglio

    Dim sql As String = "Select * From Messaggi"
    Dim adp As New OleDbDataAdapter(sql, Connessione)
    Dim ds As New DataSet
    Try
    adp.Fill(ds, "Messaggi")
    Catch ex As Exception
    MsgBox(ex.Message)
    End Try
    adp.Fill(ds, "Messaggi")


    Dim NumeroRighe As Integer
    NumeroRighe = ds.Tables("Messaggi").Rows.Count


    If NumeroRighe = 0 Then
    Dim r As DataRow = ds.Tables("Messaggi").NewRow
    r("IdMessaggio") = "PROVA"
    ds.Tables("Messaggi").Rows.Add(r)
    adp.Update(ds, "Messaggi")

    End If

    Io faccio la query sql se non me restituisce nulla vorrei inserire una riga ("r") nel dataset e nel db premetto che nella tabella messaggi l'unico campo prensente è IDMESSAGGI però quando eseguo adp.update mi da errore e mi dice che manca il metoto Insert...legendo in giro ho capito che si deve costruire la query per fare questo inserimento però non so in che modo mi aiutate?????

    Grazie mille a tutti per la pazienza e la professionalita che dimostrate ogni volta

  2. #2
    devi creare un nuovo oledbcommand x ogni comando sql(SELECT, INSERT, UPDATE, DELETE) da associare al dataadapter...
    per esempio

    codice:
    dim cmd as new OledbCommand
    
    cmd.connection.tuaconnessione
    cmd.commandtext="INSERT....."
    
    adp.insertcommand=cmd
    I database... la mia passione + o -

  3. #3
    oppure visto che hai usato un dataadapter richiama il metodo UPDATE anzichè il FILL
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  4. #4
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Originariamente inviato da RAVALON
    oppure visto che hai usato un dataadapter richiama il metodo UPDATE anzichè il FILL
    Il fill server per caricare i dati nel dataset, mentre con update si aggiuorna il database..
    La soluzione giusta è quella di power.mobile
    Jupy

  5. #5
    Buongiorno a tutti
    non riesco ad aggiornare il db dopo aver aggiunto una riga al dataset posto sotto il codice e poi mi spiego meglio
    Avendo letto con poca attenzione avevo capito che per AGGIORNARE intendesse fare l'update... scusate ho sbagliato
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  6. #6
    c'è una cosa che non capisco

    usando le istruzioni SQL tutto ok..so come fare...

    ma riprendendo il codice passato dal nostro amico

    codice:
    Dim r As DataRow = ds.Tables("Messaggi").NewRow 
    r("IdMessaggio") = "PROVA" 
    ds.Tables("Messaggi").Rows.Add(r) 
    adp.Update(ds, "Messaggi")
    Questo codice aggiorna solamente il dataset ? Se si, come si fa senza la query di insert a passare le modifiche al DB ?
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  7. #7
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, la query di Insert la devi aggiungere all'adapter prima di fare operazioni di inserimento/modifica...
    in pratica:
    codice:
    TuoAdapter.selectcommand=oggettocommand con la query di selezione
    TuoAdapter.insertcommand=oggettocommand con la query di inserimento
    TuoAdapter.deletecommand=oggettocommand con la query di cancellazione
    TuoAdapter.updatecommand=oggettocommand con la query di aggiornamento
    una volta impostate le query, quando fai l'update con l'oggetto adapter, si occuperà lui di prendere la query giusta..in base a quello che hai fatto con il tuo dataset...

    Jupy

  8. #8
    capito....ti ringrazio
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  9. #9
    un'ultima cosa...scusate...


    la creazione dei comandi di insert, update ecc.ecc.
    tipo
    codice:
    dim cmd as new OledbCommand
    
    cmd.connection.tuaconnessione
    cmd.commandtext="INSERT....."
    
    adp.insertcommand=cmd
    va creata una solta volta giusto ? pertanto....la creo dopo la creazione del dataadapter ?

    Dove è meglio crearla ?
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

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.