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

    [VB.NET] Usare OLEDB in vb.net

    Fino adesso ho usato VB.NET con SQL server ed utilizzavano i metodi nuovi per la creazione di dataset - dataview - datatable

    Volevo provare a fare una connessione e una programmazione come quando usavo VB6

    In pratica usare un DB ACCESS e usare OLEDB per creare i vecchi "recordset"

    Sapete aiutarmi?????

    Mi potete modificare il codice, cosi lo provo.

    Questo lo usavo per la connessione:

    Sub ApriConn()
    Dim strCONN As String
    strCONN = "Provider=Microsoft.Jet.OLEDB.4.0;"
    strCONN = strCONN & "Data Source=" & App.Path & "\Computer.mdb;"
    strCONN = strCONN & "Jet OLEDB:Engine Type=5;"

    Set Cn = New ADODB.Connection
    Cn.Open strCONN
    End Sub

    -------------------------------

    Invece per creare i recordset usavo questo:

    Set rsRecordSet = New ADODB.Recordset
    rsRecordSet.Open "SELECT * From [Tabella] order by [Campo]", Cn, adOpenStatic, adLockOptimistic

    Set Me.Datagrid1.DataSource = rsRecordSet

    -------------------------------

    Riuscite a convertirmi queste due cosi faccio le prove????
    Il DB di access in che cartella lo devo mettere, nella cartella DEBUG o in altre????

    Ciao e grazieeeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  2. #2
    Primo cosa usi a fare ADODB che con NET esiste ADO.NET che è mille volte meglio.
    Secondo, il paragone lo puoi fare con un DataReader che pero' e ForwardOnly, ovvero, il recordset andava avanti e indietro, giusto? Beh il DataReader va solo avanti ...
    Comunque usa il Dataset se sei alle prime armi ma abbandona ADODB ...

  3. #3

    Ok

    Originariamente inviato da raffaeu
    Primo cosa usi a fare ADODB che con NET esiste ADO.NET che è mille volte meglio.
    Secondo, il paragone lo puoi fare con un DataReader che pero' e ForwardOnly, ovvero, il recordset andava avanti e indietro, giusto? Beh il DataReader va solo avanti ...
    Comunque usa il Dataset se sei alle prime armi ma abbandona ADODB ...

    Ok facciamo cosi, se hai due minuti di tempo

    fammi una simulazione

    fa conto che devi connetterti ad un DB ACCESS e creare un dataset da passare ad una griglia per visualizzare i dati.

    Mi potresti scrivere queste 4 - 5 righe, cosi le provo a da li parto.

    Ciao e grazieeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  4. #4
    Ok

    codice:
            Dim con As New OleDb.OleDbConnection("")
            Dim Dataset As New DataSet()
            Dim command As New OleDb.OleDbCommand("SELECT ...", con)
            Dim adapter As New OleDb.OleDbDataAdapter(command)
            adapter.Fill(Dataset)
    
            
            grid.DataSource = Dataset

  5. #5
    Originariamente inviato da raffaeu
    Ok

    codice:
            Dim con As New OleDb.OleDbConnection("")
            Dim Dataset As New DataSet()
            Dim command As New OleDb.OleDbCommand("SELECT ...", con)
            Dim adapter As New OleDb.OleDbDataAdapter(command)
            adapter.Fill(Dataset)
    
            
            grid.DataSource = Dataset
    ok ci siamo quasi, mi funziona tutto, inteso come "non da errore", però non mi carica i dati.

    ho messo una textbox cosa da provare se mi crea il dataset

    Con faccio a passargli il valore di un campo nel primo record???

    cosi vediamo se il dataset viene popolato

    Ciao e grazieeeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  6. #6
    beh al posto del dataset passagli come datasource
    tuodataset.Tables(0)

  7. #7

    Ok

    Grande..........funziona.

    Ti posso chiedere una info per capire????

    Quello (0) cosa sta ad indicare????

    Scusami, ma solo cosi posso capire.

    Ciao e grazieeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  8. #8
    Ok la Dataset è una classe Collection, ovvero al suo interno sono presenti n oggetti tra cui le DataTable.
    Quando elabori gli items di una collections ci accedi con l' indice o con ilnome, che in questo casonoi non conosciamo.
    Quindi siccome di select ne hai fatta 1, le tabelle saranno 1 e siccome NET conta a partire da 0 la prima tabella sarà quella con indice 0 ...

  9. #9

    ok

    Originariamente inviato da raffaeu
    Ok la Dataset è una classe Collection, ovvero al suo interno sono presenti n oggetti tra cui le DataTable.
    Quando elabori gli items di una collections ci accedi con l' indice o con ilnome, che in questo casonoi non conosciamo.
    Quindi siccome di select ne hai fatta 1, le tabelle saranno 1 e siccome NET conta a partire da 0 la prima tabella sarà quella con indice 0 ...
    Inziamo con un GRAZIE di TUTTO, che mi segui, dopo ho altre domandine.
    Mi servono quelle 2 - 3 funzioni per partire, poi vado da solo

    Quindi potrei creare più select come tu dici????
    Uso l'indice (0), (1) per scegliere quale select caricare?????

    Questa quindi è la mia select
    Dim command As New OleDb.OleDbCommand("SELECT * FROM [DvdStorico] order by Titolo", Conn)
    posso farne due???
    potrebbe essere interessante questo discorso, cosi posso creare più select e fargli caricare all'occorrenza quella che mi serve
    giusto???
    ora pero come le creo????
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  10. #10
    Non per essere cattivo ma a questo punto ti consiglio di studiarti ADO.NET.
    Pensa potresti caricare due tabelle con due select (Esegui due COMMAND ..) e poi le leghi con una relazione e in automatico hai una bella Master-Detail come se fossi nel Database ...
    Vai qui:

    Molto semplice
    http://www.deathlord.it/pro/sl/ricer...panoramica.htm

    Anche questo ben fatto
    http://www.dotnethell.it/articles/TutorialADONET.aspx

    Dai che ci sei!!

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.