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

    Connessione a db e creazione datagridview

    salve a tutti
    complimenti per questo bellissimo forum (e ovviamente il sito sempre utile)

    una info...sto usando visual basic 2005.
    anni fa programmavo piccoli programmini scolatici con il vb6

    oggi mi son trovato a riprendere in mano il vb, per creare un "programmino" che si connetta ad un Db su HardDisk

    ovviamente tutto via codice, senza l'utilizzo della parte grafica (almeno per il datagrid view)

    mi dite se il seguente codice e' corretto?

    Imports System.Data
    Imports System.Data.OleDb
    Public Class Form1
    Dim ConnessioneDb As New OleDbConnection
    Private PaginaCorrente As Integer
    Private dttDati As DataTable
    Private TotalePagine As Integer
    Private RecordAttuale As Integer

    Private Sub CaricaDati()


    Dim conta As Integer
    Dim RecordInziale As Integer
    Dim RecordFinale As Integer

    Dim dttTemp As DataTable


    Dim RecordPerPagina As Integer

    Dim TotaleRecord As Integer

    RecordPerPagina = CType(txtRecordPerPagina.Text, Integer)

    TotaleRecord = dttDati.Rows.Count

    dttTemp = dttDati.Clone

    If PaginaCorrente = TotalePagine Then
    RecordFinale = TotaleRecord
    Else
    RecordFinale = RecordPerPagina * PaginaCorrente
    End If

    RecordInziale = RecordAttuale


    For conta = RecordInziale To RecordFinale - 1
    dttTemp.ImportRow(dttDati.Rows(conta))
    RecordAttuale = RecordAttuale + 1
    Next

    DtgDati.DataSource = dttTemp
    txtPosizione.Text = "Pagina " & PaginaCorrente.ToString() & "/" & TotalePagine.ToString()
    End Sub


    Private Sub btnApri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApri.Click
    Dim fileDB As String

    Dim DialogOp As New OpenFileDialog
    DialogOp.Filter = "Database Access .mdb | *.mdb"
    If DialogOp.ShowDialog = DialogResult.OK Then
    fileDB = DialogOp.FileName
    ConnessioneDb.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & fileDB & ";"
    MsgBox(fileDB)
    ConnessioneDb.Open()
    End If
    Dim DbAdapter As New OleDbDataAdapter("Select CodiceCliente, Nome, Cognome, Via, Città, Cap, ContattoTelefonico FROM Clienti", ConnessioneDb)
    Dim Datas As New DataSet()
    DbAdapter.Fill(Datas, "Clienti")
    DtgDati.DataSource = Datas
    DtgDati.DataMember = "Clienti"
    dttDati = Datas.Tables("Clienti")
    TotalePagine = dttDati.Rows.Count / CType(txtRecordPerPagina.Text, Integer)
    If (dttDati.Rows.Count Mod CType(txtRecordPerPagina.Text, Integer)) > 0 Then
    TotalePagine = TotalePagine + 1

    End If
    PaginaCorrente = 1
    RecordAttuale = 0
    CaricaDati()
    DialogOp.Dispose()
    frmData.Show()
    End Sub


    perche mi da errore in " DbAdapter.Fill(Datas, "Clienti") "
    inoltre, c'e un sito o un buon libro che tratti della conenssione a Db? perche' ad esempio non ho capito come si fa a "salvare" il db ad esempio
    grazie a chi mi aiutera'

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Visto che vuoi fare da codice, guarda questo esempio:

    VB2005 OLEDB Demo
    http://www.planet-source-code.com/vb...4586&lngWId=10

    Usa un db Access, ma l'esempio è semplicissimo.

    Ciao

  3. #3
    ok grazie
    gli daro' un occhio

    se possibile, nel codice sopra....come mai mi ritorna quell errore?

  4. #4
    ho seguito la guida

    ma mi da sempre errore nel NOME.FILL (DATASET, "TABELLA")

    come mai?

  5. #5
    sigh nessuno piu?

  6. #6

    Scelta di un Db e connessione ad esso

    visto che il mio precedente post e' sceso nel dimenticatoio...
    ho seguito l'esempio del programma che mi e' stato postato....ma vi chiedo una mano visto che sono alle prime armi.

    praticamente, devo costruire un PROGRAMMA(semplice) che all'avvio, mi chieda un file DB, e su questo DB mi costruisca un datagridview e la possibilita' di inserire e modificare i parametri....

    ora tutti gli esempi che ho trovato, fanno riferimento a un solo DB presente nella "cartella"
    e quindi il codice SQL riporta : SELECT * FROM CLIENTI

    a me invece la situazione e' diversa...non sapendo il Db che parametri ha..come faccio a creare un collegamento? l'unica cosa che sion riuscito a fare e' questa


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim fileDB As String
    Dim connString As String
    Dim OFD As New OpenFileDialog
    OFD.Multiselect = False
    OFD.Filter = "File Access .mdb | *.mdb"
    OFD.FilterIndex = 1
    OFD.Title = "Seleziona il DB Access da utilizzare :"
    If OFD.ShowDialog = DialogResult.OK Then
    fileDB = OFD.FileName
    connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & fileDB & ";Persist Security Info=False"
    '...
    '...
    MsgBox(fileDB)
    End If
    '...
    '...
    OFD.Dispose()
    End Sub

    la connessione a un file DB...ma ora? come faccio a creare il dgv se "non conosco" la tabella di origine?

    e automaticamente, come posso modificare dei record non conoscendone le origini (nome, cognome etc?)

    vi prego aiutatemi

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Ho unito le discussioni aperte, visto che si tratta del medesimo argomento.

    Nei limiti del possibile (cioè non è ammesso un numero di tentativi infinito), si ha la facoltà di "risollevare" una discussione, soprattutto se ci sono dei nuovi dettagli a riguardo (cioè non si tratta di una semplice esortazione).

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    capito
    il problema e' che non son stato piu cagato.. e visto che so che questo e' un argomento (per i piu esperti) molto semplice....non capisco perche' viene letto enon ricevo una mano sighhhhh

  9. #9
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da TheBat86
    capito
    il problema e' che non son stato piu cagato.. e visto che so che questo e' un argomento (per i piu esperti) molto semplice....non capisco perche' viene letto enon ricevo una mano sighhhhh
    Non vorrei sembrare scortese, e ti rispondo senza alcuna polemica da parte mia, ma è giusto sfatare quello che molti credono (e a torto), cioè che programmare sia una passeggiata. Anche se purtroppo molti lo vogliono far credere.

    Imparare a programma richiede profondo studio, desiderio di applicarsi, abnegazione e preseveranza. Non si impara sui forum!

    Davvero tu pensi che qualcuno possa risponderti davanti ad una riga così?
    ma mi da sempre errore nel NOME.FILL (DATASET, "TABELLA")
    Ti sembra che qualcuno possa capire tutto da una riga del genere?


    Per quanto riguarda il tuo post successivo ti rispondo con una domanda:
    Ti sei mai chiesto PERCHE' nessuno ti risponde?
    Semplicemente perchè la tua domanda è troppo generica, troppo vasta, ed il solo fatto che tu la faccia, fa capire che ti mancano completamente le basi sul linguaggio di programmazione, altrimenti non l'avresti fatta.
    Se non conosci le BASI devi studiarle; ad esempio, un ottimo libro sull'argomento specifico per l'accesso ai database è ADO.NET di D.Sheppard.

    Non spererai sul serio di poter imaparare a programmare mandando qualche richiesta su qualche forum?

    Concludo, ribadendo il fatto che i miei sono solo consigli che ovviamente tu sei libero di accettare o meno. Visto che ho dedicato del tempo a risponderti, spero che tu abbia capito lo spirito del mio messaggio. Se non me ne fosse importato, non ti avrei risposto.

    Ciao

  10. #10
    consigli ben accetti per carita!
    ho studiato il Visual Basic 6 molti molti anni fa, e non ho mai lavorato sugli accessi ad un DB o File che sia....
    stesso discorso per il C che conosco ma a livello scolastico...quindi le basi non mancano.....


    mancano le basi sulle operazioni con file


    non credevo fosse generico il mio post (perche' comunque ho riportato l'intero codice da me scritto) ed e' palese il problema e' riferito al collegamento con il dataset............
    non voglio imparare da un forum a programmare, ci mancherebbe

    ma almeno capire dove e' l'errore nel codice o cmq nella struttura a se'

    in ogni caso ti ringrazio per il tuo post che e' stato preso con il massimo rispetto e anzi, con la consapevolezza che come ben dici te, non si impara da un forum ma si impara "sbattendoci" la testa e sui libri (peraltro mi son segnato il libro da te consigliato)

    grazie ancora

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.