foralobo (Normal User)
Pro
Messaggi: 146
Iscritto: 30/11/2009
|
salve...devo connettermi ad un db access (2003)...ho fatto una cosa del genere:
Codice sorgente - presumibilmente VB.NET |
Imports System.Data.OleDb Public Class Form1 Private Sub btnTrova_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTrova.Click Dim PercorsoDB As String = "C:\Documents and Settings\Vincy\Desktop\Condivisa\database.mdb" Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & PercorsoDB Dim Cn As New OleDbConnection(ConnString) Cn.Open() Dim Qyery As String = "select * from tbl_clienti" Dim cmd As New OleDbCommand(Qyery, Cn) Dim dr As OleDbDataReader = cmd.ExecuteReader Do While dr.Read() ListBox1.Items.Add(dr.Item("IDCliente") & " - " & dr.Item("Tipo")) Loop Cn.Close() End Sub End Class
|
Funziona si, ma essendo inesperto di ado.net vorrei avere qualche consiglio su cosa utilizzare per i db. Velocità, gestione di una grossa mole di dati etc..
Qualcuno mi ha consigliato Entity Framework.
Grazie dei consigli
|
|
Grubby (Normal User)
Pro
Messaggi: 85
Iscritto: 02/04/2010
|
Postato originariamente da foralobo:
Funziona si, ma essendo inesperto di ado.net vorrei avere qualche consiglio su cosa utilizzare per i db. Velocità, gestione di una grossa mole di dati etc..
Qualcuno mi ha consigliato Entity Framework.
Grazie dei consigli |
Non capisco...
Puoi specificare meglio?
|
|
foralobo (Normal User)
Pro
Messaggi: 146
Iscritto: 30/11/2009
|
Postato originariamente da Grubby:
Postato originariamente da foralobo:
Funziona si, ma essendo inesperto di ado.net vorrei avere qualche consiglio su cosa utilizzare per i db. Velocità, gestione di una grossa mole di dati etc..
Qualcuno mi ha consigliato Entity Framework.
Grazie dei consigli |
Non capisco...
Puoi specificare meglio?
|
intendo..al posto di usare la classe oledb..ci sono metodi + efficienti? |
|
Grubby (Normal User)
Pro
Messaggi: 85
Iscritto: 02/04/2010
|
mmmm...
Sinceramente non lo so.
Scusa ma che probblemi ti da?
|
|
BigMitch (Member)
Rookie
Messaggi: 43
Iscritto: 15/02/2009
|
Ado.net di problemi non ne da tanti, l'unico problema che puoi avere nella gestione di molti dati è il file mdb di access che può bloccarsi e farti perdere anche dei dati...puoi integrarti con mssql server che in velocità e gestione di tanti dati va bene..
|
|
foralobo (Normal User)
Pro
Messaggi: 146
Iscritto: 30/11/2009
|
infatti...non ci sono problemi..era solo un'informazione richiesta sull'ufficienza
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Sull'efficienza posso dirti che il motore di database di access è meno performante di altri. Inoltre i database access sono poco portabili. Tuttavia questo dipende dai vincoli che riguardano il tuo progetto (ossia se devi usare per forza questo gestore, non fa niente).
Riguardo alla gestione via codice, ci sono alcuni approcci diversi:
- ADO.NET "classico", ossia come l'hai fatto tu;
- Lo stesso di sopra, ma con DataSet tipizzati;
- LINQ to SQL, basato sull'integrazione del linguaggio di querying nel linguaggio VB2008 (necessita il framework 3.5). Inutile dire che questo fatto facilita di molto l'utilizzo dei database (l'efficienza non cambia di molto a parità di gestore usato);
- LINQ to Entities, simile a LINQ to SQL, ma utilizza il database come entità anziché come contesto di dati (questo significa che puoi manipolare l'entità direttamente e non manipolare oggetti le cui proprietà vengono poi trasferite sul database tramite il suddesto contesto di dati).
Qui per i primi due:
http://totem.altervista.org/guida/versione3/C2%20-%20Descr ...
Qui per LINQ:
http://totem.altervista.org/guida/linq/index.php
|
|
foralobo (Normal User)
Pro
Messaggi: 146
Iscritto: 30/11/2009
|
perdona la mia ignoranza..io ho bisogno di usare access, queste librerie riguardano mysqol soltanto o mi sbaglio? |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Tutti i tipi di dato usati nella guida esistono anche per access, anche perchè le librerie per MySql hanno semplicemente emulato i metodi esistenti, per rendere più semplice la gestione a chi è abituato a un altro database.
In sostanza, potresti sostituire tutti i tipi di dato che iniziano con MySql con gli stessi tipi aggiungendo il prefisso OleDb. Prima di fare ciò devi importare il namespace System.Data.OleDb.
Ad esempio, il primo codice diventerebbe:
Codice sorgente - presumibilmente VB.NET |
Imports System.Data.OleDb '... Dim Conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;") Try Conn.Close() Catch Ex As Exception '... Finally Conn.Close() End Try
|
La stringa di connessione, ovviamente, deve essere diversa.
|
|