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'