Manuale VB.Net

Follow on Facebook  Share on Twitter  Share on Google  Share on Linkedin  Share on Blogger  Share on Flipboard  Share on Tumblr 

Le applicazioni spesso devono comunicare con un database, sia per leggerne i dati che per aggiornarli.
Il framework .net fornisce Microsoft ActiveX Data Objects.Net (ADO.Net) è un modello, per l'accesso in lettura e scrittura ai database.

Il modello di ADO.Net non è altro che il flusso strutturato attraverso vari componenti

I dati memorizzati in un database vengono recuperati attraverso un oggetto chiamato provider di dati.

Un'applicazione tipicamente accede ai dati tramite un DataSet o un DataReader.
Un Dataset è una struttura dati che permette di memorizzare una serie di tabelle in modo da poter lavorare in maniera disconnessa.
Un DataReader fornisce invece un accesso ai dati in modalita di sola lettura e forward-only.

Data Provider

Il provider di dati in ADO.Net è costituito da quattro oggetti seguenti:

Oggetto Descrizione
Connection Utilizzato per configurare un collegamento a una fonte di dati.
Command Un comando non è altro ch un'istruzione SQL utilizzata per effettuare operazioni sui dati
DataReader fornisce un accesso ai dati in modalita di sola lettura e forward-only.
DataAdapter E' un adattatore di dati che permette di trasferire i dati dal e verso database.

DataSet

DataSet è una rappresentazione in memoria dei dati. Una volta caricati i dati tramite un Adapter, lavora in modalità disconnessa.
Funziona come un database in memoria, e come un database ha tabelle, viste, primary key etc...

La classe DataSet fa parte del namespace System.Data

Oggetto Descrizione
DataTableCollection Contiene tutte le tabelle del DataSet.
DataRelationCollection Contiene i legami tra tabelle in un DataSet.
ExtendedProperties Contiene informazioni aggiuntive.
DataTable Contiene una tabella nel DataTableCollection di un DataSet.
DataRelation Rappresenta una relazione nella DataRelationshipCollection del DataSet.
DataRowCollection Contiene tutte le righe di un DataTable.
DataView E' una vista personalizzata su un DataTable che può essere filtrato, ordinato etc...
PrimaryKey Esso rappresenta la primary Key, ovvero la colonna che che identifica in modo univoco una riga in un DataTable.
DataRow E' una riga nella DataTable.
DataColumnCollection Rappresenta tutte le colonne in un DataTable.
DataColumn Rappresenta una colonna di un DataTable.

Connection

Il framework .Net fornisce diverse classi per il collegamento a un database, in base al tipo di database a cui ci si collega.

  • SqlConnection: per le connessioni a Microsoft SQL Server.
  • OleDbConnection: per il collegamento a diversi database, come ad esempio Oracle o anche Access.

Esempio 1: connessione a un database

Imports System.Data
Imports System.Data.SqlClient                            
Module esempioSql
    Sub Main()
        Dim connection As SqlConnection = New SqlConnection()
        connection.ConnectionString = "Data Source=Nome_Server; Initial Catalog=Nome_DB;Integrated Security=True"
        connection.Open()
        Dim adp As SqlDataAdapter = New SqlDataAdapter ("select * from Orders", connection)
        Dim ds As DataSet = New DataSet()
        adp.Fill(ds)
    End Sub
End Module

In questo semplice esempio, ci siamo collegati ad un database tramite la ConnectionString ed abbiamo caricato i dati della tabella "Orders" in un datatable.

Esempio 2: Creazione datatable in memoria

Imports System.Data
Imports System.Data.SqlClient                            
Module esempioSql
    Sub Main()
        Dim ds As DataSet = New DataSet()
        Dim books As DataTable = New DataTable("MyBooks")
        books.Columns.Add("id", Type.GetType("System.Int32"))
        books.Columns.Add("year", Type.GetType("System.Int32"))
        books.Columns.Add("title", Type.GetType("System.String"))
        books.Columns.Add("author", Type.GetType("System.String"))
        AddBook(1, 2016, "Titolo 1", "Autore 1")
        AddBook(2, 2016, "Titolo 2", "Autore 2")
        AddBook(3, 2016, "Titolo 3", "Autore 3")
        AddBook(4, 2016, "Titolo 4", "Autore 4")            
        ds.Tables.Add(books)
	End Sub    

    Private Sub AddBook(ByRef table As DataTable, ByRef id As Integer, ByRef year As Integer, ByRef title As String, ByRef author As String)
        Dim newrow As DataRow = table.NewRow()
        newrow("id") = id
        newrow("year") = year
        newrow("title") = title
        newrow("author") = author
        table.Rows.Add(newrow)
    End Sub
End Module

In questo esempio creiamo un datatable contenente una tabelel "books" e inseriamo dentro tale tabella 4 record.

Esempio 3: connessione con OleDB

<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data" %>
<HTML>
<script language="VB" runat="server">
Private Sub btnFiltra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Dim DS As DataSet
    Dim MyConnection As OleDbConnection
    Dim MyCommand As OleDbDataAdapter
    Dim SelectCommand As String = "select * from utenti where cognome = @cognome"
    MyConnection = New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=" & _ 
    Server.MapPath("database/utenti.mdb"))
    MyCommand = New OleDbDataAdapter(SelectCommand, MyConnection)
    MyCommand.SelectCommand.Parameters.Add(New OleDbParameter("@cognome", 2))
    MyCommand.SelectCommand.Parameters("@cognome").Value = tbFiltro.Text
    DS = New DataSet
    MyCommand.Fill(DS, "utenti")
    MyDataGrid.DataSource = DS.Tables("utenti").DefaultView
    MyDataGrid.DataBind()
End Sub
</script>
<body>
	<form id="Form1" method="post" runat="server">
		<asp:TextBox id="tbFiltro" runat="server">pippo</asp:TextBox>
		<asp:Button id="btnFiltra" runat="server" Text="Filtra Cognome" OnClick="btnFiltra_Click"></asp:Button>
		<BR><BR>
		<ASP:DataGrid id="MyDataGrid" runat="server">
		</ASP:DataGrid></form>
</body>
</HTML>

Esempio 4: Usare le transaction

Private Sub UpdateWithTransactions()
    Dim conn As SqlConnection = New SqlConnection
    conn.ConnectionString = "server=NOMEDBSERVER;database=NOMEDB;uid=USERID;pwd=PASSWORD;"
    conn.Open()
    Dim trans As SqlTransaction
    trans = conn.BeginTransaction()
    Try
        Dim sql1 As String = "Insert INTO Tabella1 (campo) VALUES ('valore')"
        Dim sql2 As String = "Insert INTO Tabella2 (campo1,campo2) VALUES ('valore1','valore2')"
        Dim comm As SqlCommand = New SqlCommand
        comm.Connection = conn
        comm.Transaction = trans
        comm.CommandText = sql1
        comm.ExecuteNonQuery()
        comm.CommandText = sql2
        comm.ExecuteNonQuery()
        trans.Commit()
        Response.Write("Fine elaborazione")
    Catch ex As SqlException
	    trans.Rollback()
    	Response.Write(ex.ToString())
    Finally
	    conn.Close()
    End Try
End Sub

Manuale VB.Net

 

A colpo d'occhio

  • Script C#

    Script C# per tutte le esigenze: database, sessioni, file, contatori, stringhe, date, e-mail, e tanto altro

  • Manuale C#

    Manuale completo di C# per principianti e non

  • Script VB.Net

    Script VB.Net Visual Basic .net: database, sessioni, file, contatori, stringhe, date, e-mail, e tanto altro

  • Manuale SQL

    Manuale di SQL con particolare attenzione a T-SQL di Microsoft SQL Server

  • Seo

    Tecniche di posizionamento indicizzazione e ottimizzazione dei siti web per nei motori di ricerca

  • Manuale CSS

    Manuale completo sui CSS per principianti e non

Be Responsive

HTML 5

HTML 5

HTML 5 è un linguaggio di markup utilizzato per la strutturazione e il contenuto delle pagine Web.

CSS 3

CSS 3

CSS 3 è l'ultima evoluzione dei fogli di stile CSS. Contiene molte novità come angoli arrotondati, ombre, sfumature, transizioni o animazioni.

jQuery

jQuery

jQuery è una libreria JavaScript cross-platform progettata per semplificare lo scripting lato client.