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

    [VB.NET] Inserire un DataSet in Tabella

    Mi servirebbe una mano per sapere come si fa ad inserire un "DataSet" in una tabella...

    Ho questo DataSet:

    codice:
    Private oConn1 As New OleDbConnection("Provider=MySqlProv;Data Source=My_Database_1;Port=3306;User ID=root;Password=;Location=localhost;")
    
    Private oConn2 As New OleDbConnection("Provider=MySqlProv;Data Source=My_Database_2;Port=3306;User ID=root;Password=;Location=localhost;")
    
    
    Dim DS As DataSet = New DataSet()
    Dim da As New OleDbDataAdapter("SELECT * FROM Anagrafiche", oConn1)
    da.Fill(DS, "Anagrafiche")
    Devo trasferire il contenuto in una Tabella residente in un altro Database.

    come posso fare???
    non ho molta pratica con i DataAdapter o DataSet.........

    se mi potete dare un amano ....

  2. #2
    dopo avere fatto il fill del dataset con la prima connessione devi assegnare al UpdateCommand del dataadapter la seconda connessione e lanciare il metodo update del dataadapter spedcificando il dataset

    naturalmente le tabelle di origine e destinazione devono essere identiche
    I database... la mia passione + o -

  3. #3
    Credo di sbagliare qualcosa.........


    codice:
            Dim oConn1 As New OleDbConnection("Provider=MySqlProv;Data Source=My_Database_1;Port=3306;User ID=root;Password=;Location=localhost;")
            Dim oConn2 As New OleDbConnection("Provider=MySqlProv;Data Source=My_Database_2;Port=3306;User ID=root;Password=;Location=localhost;")
    
    
            Dim ds As DataSet = New DataSet()
            Dim da As New OleDbDataAdapter("SELECT * FROM MyTable", oConn1)
            da.Fill(ds, "MyTable")
    
    
            da.UpdateCommand.Connection = oConn2
            'MI DA QUESTO ERRORE ...., al il rigo qui' sopra......
            'Eccezione non gestita di tipo "System.NullReferenceException" in Inserire un DataSet in Tabella.exe
            'Informazioni aggiuntive: Riferimento a un oggetto non impostato su un'istanza di oggetto.
    
            da.Update(ds, "MyTable")

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    da.UpdateCommand.
    l'oggetto updatecommand lo hai creato ????

  5. #5
    Come hai fatto sopra dei inizializzare l'UpdateCommand e dargli il CommandText cioè la stringa SQL di Insert e Update...
    I database... la mia passione + o -

  6. #6
    Originariamente inviato da power.mobile
    Come hai fatto sopra dei inizializzare l'UpdateCommand e dargli il CommandText cioè la stringa SQL di Insert e Update...
    se utilizzo la QUERY di INSERT allora ritorno da capo, avevo fatto gia' una prova ma in quel modo cme puoi inserire un intero DataSet in un comando???

    devo poi proseguire facendo gli inserimenti dei singoli campi etc...

    ma io credevo che ci fosse un metodo che prende direttamente il DataSet come parametro e dato che ha la medesima struttura della Tabella di destinazione non servisse nientaltro.

  7. #7
    vediamo se riesco a spiegarti...

    la soluzione + semplice sarebbe far generare in automatico il dataadapter e il dataset...

    dovresti farlo sulla tabella origine...

    ti dico così perchè lui genera in automatico il comando insert con tutta la lista di parametri che si va a leggere dal dataset...

    dopo che gli fai fare il fill con la prima connessione devi impostare l' InsertCommand.connection del dataadapter con la seconda connessione e quindi esegui il metodo Update del dataadapter...

    Spero di essermi spiegato....
    I database... la mia passione + o -

  8. #8
    Spero che non mi mandiate a quel paese,

    ho fatot questo e ora non da errore ma non fa nulla ...

    codice:
        Private Sub InsertDataSet()
    
            Dim oConn1 As New OleDbConnection("Provider=MySqlProv;Data Source=xxx;Port=3306;User ID=root;Password=;Location=localhost;")
            Dim oConn2 As New OleDbConnection("Provider=MySqlProv;Data Source=yyy;Port=3306;User ID=root;Password=;Location=localhost;")
    
            Dim ds As DataSet = New DataSet()
            Dim da As New OleDbDataAdapter()
            da.SelectCommand = New OleDbCommand("SELECT Esito FROM myTable", oConn1)
            Dim custCB As OleDbCommandBuilder = New OleDbCommandBuilder(da)
            da.Fill(ds, "myTable")
    
    
            da.InsertCommand = New OleDbCommand("INSERT INTO myTable(Esito) VALUES(@Esito)", oConn2)
            da.InsertCommand.Parameters.Add("@Esito", OleDbType.VarChar, 50, "Esito")
            da.Update(ds, "myTable")
    
        End Sub

  9. #9
    perchè usi l'OleDbCommandBuilder?
    a ke ti serve?

    e poi perkè non usi il semplicissimo wizard di vb.Net???
    I database... la mia passione + o -

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.