Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    87

    [Vb2008] Aggiornamento database

    Ciao a tutti, sto studiando da poco vb2008 e vorrei sapere se mi sono complicato la vita ( penso di si)

    Ho due database in access il primo db_schede.mdb che ha all'interno una colonna Tipi e il secondo tbdb.mdb che ha all'interno una colonna disposchede_tipo.

    Detto cio' devo semplicemente , creando una applicazione console, eliminare tutti i campi di dbschede.mdb(colonna tipi) che hanno come valore i campi di tbdb.mdb (colonna disposchede_tipo)

    La mia applicazione funzionante è la seguente:


    Imports System.Data
    Imports System.Data.OleDb


    Module Module1

    Public Program_Path = My.Application.Info.DirectoryPath

    Dim DB_Schede As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Program_Path & "\DB_DOWN\DB_Schede.mdb;Persist Security Info=False")
    Dim DB_TBDB As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Program_Path & "\tbdb.mdb;Persist Security Info=False")



    Private Sub connetti_db()



    Dim Cmd2 As OleDbCommand = DB_Schede.CreateCommand


    Dim DataAdapter1 As New OleDbDataAdapter("SELECT * from disposchede_tipo", DB_TBDB)
    Dim DataSet1 As New DataSet
    DataAdapter1.Fill(DataSet1, "disposchede_tipo")

    Dim Dataview1 As DataView = New DataView(DataSet1.Tables("disposchede_tipo"))


    DB_Schede.Open()

    Dim i As Integer

    For Each rowView In Dataview1
    For i = 0 To Dataview1.Table.Columns.Count - 1


    Cmd2.CommandText = "DELETE From disposchede WHERE Tipo='" & rowView(i) & "';"
    Cmd2.ExecuteNonQuery()

    Next
    Next
    DB_Schede.Close()

    end sub

    Sub Main()


    connetti_db()
    End Sub

    End Module



    Avete suggerimenti ? Vi ringrazio in anticipo

  2. #2
    quale sarebbe il problema (visto che dici che è funzionante...) ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    87
    Il problema è la forma .....

    Mi spiego meglio. E' corretto che ho utilizzato un dataset come contenitore per poi eseguire query su altro database ? O dovevo usare una tecnica diversa magari migliore ?
    Era + corretto scriverlo in linq ? ( e se si come si poteva scrivere ?)

    Grazie

  4. #4
    ok, capito. diciamo che avresti potuto fare tutto con un'unica query (qualcosa del tipo DELETE ... JOIN )

  5. #5
    Era + corretto scriverlo in linq ?
    Ciao.
    Diciamo che con Linq sarebbe stato tutto più semplice ma, nel caso di Access, dovresti comunque popolare un DataSet per poter utilizzare Linq To DataSet come provider.
    Ma prima di tutto, dovresti chiarirti un pò le idee .....

    Il DataBase, non contiene colonne, ma tabelle.
    Le tabelle, sono formate da Colonne e Record.
    e poi
    Perchè mai avresti due DataBase distinti e non un solo DataBase con 2 tabelle?
    Non che sia impossibile, ma sei sicuro che è quello che ti serve?.

    Facci sapere...
    Ciao

  6. #6
    Originariamente inviato da Jeremy75
    Diciamo che con Linq sarebbe stato tutto più semplice...
    più semplice che fare una execute di una query secca?

  7. #7
    Originariamente inviato da optime
    più semplice che fare una execute di una query secca?
    Va bene ..... allora diciamo più gestibile?

  8. #8
    Originariamente inviato da Jeremy75
    Va bene ..... allora diciamo più gestibile?
    che vuol dire "più gestibile"?

  9. #9
    che vuol dire "più gestibile"?
    Cosa può voler dire più gestibile? Più gestibile vuol dire più gestibile.
    Cosa vuol dire query secca? Query secca vuol dire query secca.

    Il riferimento a Linq lo ha fatto anza, ed io ho risposto di conseguenza (non voleva essere un contradditorio al tuo suggerimento).

    Più gestibile intendo dire che hai la possibilità di "gestire" certe condizioni in un modo più ampio rispetto ad una query secca .... tutto qui.

  10. #10
    si fa per discutere, eh? e comunque, nel caso specifico, anche se linq l'ha menzionato anza, sei tu che te ne sei uscito con l'affermazione con Linq sarebbe stato tutto più semplice. ecco, io volevo da te dei chiarimenti su questa affermazione

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.