posts - 82, comments - 0, trackbacks - 0

My Links

News

Archives

Post Categories

C# Download

Facebook

Informativa cookie

Linkedin

Microsoft

Msdn Gallery

Twitter

VisualBasic

Wiki Tecknet

Example application data with SQLserver 2008 Express

This example shows how to interact with commonly usedcommands in a data application using SQLSERVEREXPRESS.

In order to run the samplemust be installed on the target computer. NETFramework 4.0 and SQLServer2008EXPRESS

The example is based on the use ofcommonly used TRANSACT.SQL, Insert, Delete, andUpdate. Also included are some search queries by usingLinqToDataSet, queryascending, descending and search queries according to specific criteria. The example consists of a database named Example.mdf, inside there is a table with four fields, the table's primary key ID, a field called NAME nvchar type,a field called NAME nvchar and always ofa field called AGE also nvchar type.The execution of the TRANSACT-SQLquery uses the parametric, for more information and details I would refer toparametric query sql msdnlibrary. SQLSERVER course is much more than whatis written in this example, andallows tantisimi ways and methods for handlinglarge amounts of data.

Placed below the code that makes up the sample,divided into classes for the insert, delete, updated,DataBaseManagement the classthat deals with the DataBase and finally interact withthe class frmMain from which the user can iteratewith the database.

The code part of the Class frmMain.

 

//dll .netFramework
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

// Spazio dei nomi SqlSever_example
namespace SqlServer_example
{
    // Classe FrmMain
    public partial class FrmMain : Form
    {
        // Costruttore pubblico della Classe FrmMain
        public FrmMain()
        {
            // Richiamo metodo InitializeComponent
            InitializeComponent();
        }

        // Evento Load del Form FrmMain
        private void FrmMain_Load(object sender, EventArgs e)
        {
            // Richiamo metodo LoadData
            LoadData();
        }

        // Evento click del pulsante btnInsert
        private void btnInsert_Click(object sender, EventArgs e)
        {
            // Dichiaro una nuova istanza della Classe Insert
            Insert i = new Insert();
            // Passo al metodo setName della Classe Insert il valore inserito dall'utente nel controllo TextBox txtName
            i.setName(this.txtName.Text);
            // Passo al metodo setName della Classe Insert il valore inserito dall'utente nel controllo TextBox txtSurName
            i.setSurName(this.txtSurName.Text);
            // Passo al metodo setName della Classe Insert il valore inserito dall'utente nel controllo TextBox txAge
            i.setAge(this.txtAge.Text);

            // Creo una nuova istanza della Classe DatabaseManagement
            DatabaseManagement dbInsert = new DatabaseManagement();
            // Passo al metodo insertData i parametri necessari per la memorizzazione del Nome,Cognome e Età all'interno della
            // Tabella del DataBase
            dbInsert.insertData(i.getName(), i.getSurName(),i.getAge());

            // Richiamo metodo LoadData
            LoadData();
        }

        // Evento click del pulsante btnDelete
        private void btnDelete_Click(object sender, EventArgs e)
        {
            // Dichiaro una nuova istanza della Classe Delete
            Delete d = new Delete();
            // Passo al metodo setName della Classe Delete il valore inserito dall'utente nel controllo TextBox txtName
            d.setName(this.txtName.Text);
            // Passo al metodo setName della Classe Delete il valore inserito dall'utente nel controllo TextBox txtSurName
            d.setSurName(this.txtSurName.Text);
            // Passo al metodo setName della Classe Delete il valore inserito dall'utente nel controllo TextBox txAge
            d.setAge(this.txtAge.Text);

            // Creo una nuova istanza della Classe DatabaseManagement
            DatabaseManagement dbDelete = new DatabaseManagement();
            // Passo al metodo deleteData i parametri necessari per la memorizzazione del Nome,Cognome e Età all'interno della
            // Tabella del DataBase
            dbDelete.deleteData(d.getName(), d.getSurName(), d.getAge());

            // Richiamo metodo LoadData
            LoadData();
        }

        // Evento click del pulsante btnUpdate
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            // Dichiaro una nuova istanza della Classe UpdateDati
            UpdateDati ud = new UpdateDati();
            // Passo al metodo setName della Classe UpdateDati il valore inserito dall'utente nel controllo TextBox txtName
            ud.setName(this.txtName.Text);
            // Passo al metodo setName della Classe UpdateDati il valore inserito dall'utente nel controllo TextBox txtSurName
            ud.setSurName(this.txtSurName.Text);
            // Passo al metodo setName della Classe UpdateDati il valore inserito dall'utente nel controllo TextBox txtAge
            ud.setAge(this.txtAge.Text);

            // Creo una nuova istanza della Classe DatabaseManagement
            DatabaseManagement dbUpdate = new DatabaseManagement();
            // Passo al metodo updateData i parametri necessari per la memorizzazione del Nome,Cognome e Età all'interno della
            // Tabella del DataBase
            dbUpdate.updateData(ud.getName(), ud.getSurName(), ud.getAge());

            // Richiamo metodo LoadData
            LoadData();
        }

        // Evento click del pulsante btnFindTypeData
        private void btnFindTypeData_Click(object sender, EventArgs e)
        {
            // Eseguo controllo sul valore del controllo ComboBox cbxTypeData
            switch (this.cbxTypeData.Text)
            {
                // Se valore NAME
                case "NAME":
                    // Eseguo la query di ricerca LinqToDataSet per nome
                    var queryName = from c in this.exampleDataSet.TABELLA1
                                 where  c.NOME  == this.txtFind.Text.ToUpper()
                                 select c;

                    // Assegno il risultato della query alla proprietà DataSource del controllo
                    // DataGridView dgvExample
                    this.dgvExample.DataSource = queryName.AsDataView();
                    // Visualizzo a utente i risultati della ricerca
                    this.lblFind.Text = "Ricerca terminata. Trovati" + " " + queryName.AsDataView().Count.ToString() + " " + "elementi";
                    break;

                // Se valore SURNAME
                case "SURNAME":
                    // Eseguo la query di ricerca LinqToDataSet per Cognome
                    var querySurName = from c in this.exampleDataSet.TABELLA1
                                where c.COGNOME == this.txtFind.Text.ToUpper()
                                select c;

                    // Assegno il risultato della query alla proprietà DataSource del controllo
                    // DataGridView dgvExample
                    this.dgvExample.DataSource = querySurName.AsDataView();
                    break;

                // Se valore AGE
                case "AGE":
                    // Eseguo la query di ricerca LinqToDataSet per età
                    var queryAge = from c in this.exampleDataSet.TABELLA1
                                where c.AGE  == this.txtFind.Text.ToUpper()
                                select c;

                    // Assegno il risultato della query alla proprietà DataSource del controllo
                    // DataGridView dgvExample
                    this.dgvExample.DataSource = queryAge.AsDataView();
                    break;
            }
        }

        // Evento click del pulsante btnFindLinq
        private void btnFindLinq_Click(object sender, EventArgs e)
        {
            // Eseguo controllo sul valore del controllo ComboBox cbxLinq
            switch (cbxLinq.Text)
            {
                // Se valore ASCENDING NAME
                case "ASCENDING NAME":
                    // Eseguo la query di ricerca LinqToDataSet per nome e ordino il
                    // Risultato in senso crescente
                    var queryAscendingName = from c in this.exampleDataSet.TABELLA1
                                    orderby c.NOME ascending
                                    select c;

                    // Assegno il risultato della query alla proprietà DataSource del controllo
                    // DataGridView dgvExample
                    this.dgvExample.DataSource = queryAscendingName.AsDataView();
                    break;

                // Se valore DESCENDING NAME
                case "DESCENDING NAME":
                    // Eseguo la query di ricerca LinqToDataSet per nome e ordino il
                    // Risultato in senso decrescente
                    var queryDescendingName = from c in this.exampleDataSet.TABELLA1
                                             orderby c.NOME descending
                                             select c;

                    // Assegno il risultato della query alla proprietà DataSource del controllo
                    // DataGridView dgvExample
                    this.dgvExample.DataSource = queryDescendingName.AsDataView();
                    break;

                // Se valore ASCENDING SURNAME
                case "ASCENDING SURNAME":
                    // Eseguo la query di ricerca LinqToDataSet per Cognome e ordino il
                    // Risultato in senso crescente
                    var queryAscendingSurName = from c in this.exampleDataSet.TABELLA1
                                             orderby c.COGNOME ascending
                                             select c;

                    // Assegno il risultato della query alla proprietà DataSource del controllo
                    // DataGridView dgvExample
                    this.dgvExample.DataSource = queryAscendingSurName.AsDataView();
                    break;

                // Se valore DESCENDING NAME
                case "DESCENDING SURNAME":
                    // Eseguo la query di ricerca LinqToDataSet per Cognome e ordino il
                    // Risultato in senso decrescente
                    var queryDescendingSurName = from c in this.exampleDataSet.TABELLA1
                                              orderby c.COGNOME descending
                                              select c;

                    // Assegno il risultato della query alla proprietà DataSource del controllo
                    // DataGridView dgvExample
                    this.dgvExample.DataSource = queryDescendingSurName.AsDataView();
                    break;

                // Se valore ASCENDING AGE
                case "ASCENDING AGE":
                    // Eseguo la query di ricerca LinqToDataSet per età e ordino il
                    // Risultato in senso crescente
                    var queryAscendingAge = from c in this.exampleDataSet.TABELLA1
                                             orderby c.AGE ascending
                                             select c;

                    // Assegno il risultato della query alla proprietà DataSource del controllo
                    // DataGridView dgvExample
                    this.dgvExample.DataSource = queryAscendingAge.AsDataView();
                    break;

                // Se valore DESCENDING AGE
                case "DESCENDING AGE":
                    // Eseguo la query di ricerca LinqToDataSet per età e ordino il
                    // Risultato in senso decrescente
                    var queryDescendingAge = from c in this.exampleDataSet.TABELLA1
                                              orderby c.AGE descending
                                              select c;

                    // Assegno il risultato della query alla proprietà DataSource del controllo
                    // DataGridView dgvExample
                    this.dgvExample.DataSource = queryDescendingAge.AsDataView();
                    break;
            }
        }

        // Evento click del pulsante btnExit
        private void btnExit_Click(object sender, EventArgs e)
        {
            // Esco e chiudo l'applicazione SqlServer example
            Application.Exit();
        }

        // Evento SelectedIndexChanged del ComboBox cbxTypeData
        private void cbxTypeData_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Se l'utente non ha selezionato un criterio di ricerca
            if (this.cbxTypeData.Text.Equals(""))
            {
                // Disabilito pulsante btnFindTypeData
                this.btnFindTypeData.Enabled = false;
            }

            // Altrimenti
            else
            {
                // Abilito pulsante btnFindTypeData
                this.btnFindTypeData.Enabled = true;
            }
        }

        // Evento SelectedIndexChanged del ComboBox cbxTypeData
        private void cbxLinq_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Se l'utente non ha selezionato un criterio di ricerca
            if (this.cbxLinq.Text.Equals(""))
            {
                // Disabilito pulsante btnFindLinq
                this.btnFindLinq.Enabled = false;
            }

            // Altrimenti
            else
            {
                // Abilito pulsante btnFindLinq
                this.btnFindLinq.Enabled = true;
            }
        }

        // Evento RowEnter del controllo dgvExample
        private void dgvExample_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            // Prova
            try
            {
                // Assegno al controllo txtName il valore selezionato dall'utente sul controllo dgvExample
                this.txtName.Text = this.dgvExample.Rows[e.RowIndex].Cells["NAME"].Value.ToString();
                // Assegno al controllo txtSurName il valore selezionato dall'utente sul controllo dgvExample
                this.txtSurName.Text = this.dgvExample.Rows[e.RowIndex].Cells["SURNAME"].Value.ToString();
                // Assegno al controllo txtAge il valore selezionato dall'utente sul controllo dgvExample
                this.txtAge.Text = this.dgvExample.Rows[e.RowIndex].Cells["AGE"].Value.ToString();
            }

            // In caso di eccezzione
            catch (System.Exception ex)
            {
                // Visualizzo messaggio a utente
                MessageBox.Show(ex.Message);
            }
        }

        // Metodo LoadData
        private void LoadData()
        {
            // Disabilito pulsante btnFindTypeData
            this.btnFindTypeData.Enabled = false;
            // Disabilito pulsante btnFindLinq
            this.btnFindLinq.Enabled = false;
            // Popolo la tabella con i dati presenti nel DataBase
            this.tABELLA1TableAdapter.Fill(this.exampleDataSet.TABELLA1);
        }
    }
}


 The code part of the ClassInsert

 

//dll .netFramework
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

// Spazio dei nomi SqlSever_example
namespace SqlServer_example
{
    // Classe Insert
    class Insert
    {
        // Dichiaro una variabile di tipo stringa dove viene memorizzato il valore
        // del parametro passato dal metodo setName
        private string name = string.Empty;
        // Dichiaro una variabile di tipo stringa dove viene memorizzato il valore
        // del parametro passato dal metodo setSurName
        private string surName = string.Empty;
        // Dichiaro una variabile di tipo stringa dove viene memorizzato il valore
        // del parametro passato dal metodo setAge
        private string age = string.Empty;

        // Metodo pubblico setName
        public void setName(string name)
        {
            // Assegno alla variabile a livello di classe name il valore del parametro
            // del metodo setName
            this.name = name;
        }

        // Metodo pubblico getName
        public string getName()
        {
            // Restituisco il valore della variabile a livello di classe name
            return this.name;
        }

        // Metodo pubblico setSurName
        public void setSurName(string surName)
        {
            // Assegno alla variabile a livello di classe surName il valore del parametro
            // del metodo setSurName
            this.surName = surName;
        }

        // Metodo pubblico getSurName
        public string getSurName()
        {
            // Restituisco il valore della variabile a livello di classe surName
            return this.surName;
        }

        // Metodo pubblico setAge
        public void setAge(string age)
        {
            // Assegno alla variabile a livello di classe age il valore del parametro
            // del metodo setAge
            this.age = age;
        }

        // Metodo pubblico getAge
        public string getAge()
        {
            // Restituisco il valore della variabile a livello di classe age
            return this.age;
        }
    }
}

 

The code part of the ClassDelete

//dll .netFramework
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

// Spazio dei nomi SqlSever_example
namespace SqlServer_example
{
    // Classe Delete
    class Delete
    {
        // Dichiaro una variabile di tipo stringa dove viene memorizzato il valore
        // del parametro passato dal metodo setName
        private string name = string.Empty;
        // Dichiaro una variabile di tipo stringa dove viene memorizzato il valore
        // del parametro passato dal metodo setSurName
        private string surName = string.Empty;
        // Dichiaro una variabile di tipo stringa dove viene memorizzato il valore
        // del parametro passato dal metodo setAge
        private string age = string.Empty;

        // Metodo pubblico setName
        public void setName(string name)
        {
            // Assegno alla variabile a livello di classe name il valore del parametro
            // del metodo setName
            this.name = name;
        }

        // Metodo pubblico getName
        public string getName()
        {
            // Restituisco il valore della variabile a livello di classe name
            return this.name;
        }

        // Metodo pubblico setSurName
        public void setSurName(string surName)
        {
            // Assegno alla variabile a livello di classe surName il valore del parametro
            // del metodo setSurName
            this.surName = surName;
        }

        // Metodo pubblico getSurName
        public string getSurName()
        {
            // Restituisco il valore della variabile a livello di classe surName
            return this.surName;
        }

        // Metodo pubblico setAge
        public void setAge(string age)
        {
            // Assegno alla variabile a livello di classe age il valore del parametro
            // del metodo setAge
            this.age = age;
        }

        // Metodo pubblico getAge
        public string getAge()
        {
            // Restituisco il valore della variabile a livello di classe age
            return this.age;
        }
    }
}

The code partof the class UpdateData

//dll .netFramework
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

// Spazio dei nomi SqlSever_example
namespace SqlServer_example
{
    // Classe UpdateDati
    class UpdateDati
    {
        // Dichiaro una variabile di tipo stringa dove viene memorizzato il valore
        // del parametro passato dal metodo setName
        private string name = string.Empty;
        // Dichiaro una variabile di tipo stringa dove viene memorizzato il valore
        // del parametro passato dal metodo setSurName
        private string surName = string.Empty;
        // Dichiaro una variabile di tipo stringa dove viene memorizzato il valore
        // del parametro passato dal metodo setAge
        private string age = string.Empty;

        // Metodo pubblico setName
        public void setName(string name)
        {
            // Assegno alla variabile a livello di classe name il valore del parametro
            // del metodo setName
            this.name = name;
        }

        // Metodo pubblico getName
        public string getName()
        {
            // Restituisco il valore della variabile a livello di classe name
            return this.name;
        }

        // Metodo pubblico setSurName
        public void setSurName(string surName)
        {
            // Assegno alla variabile a livello di classe surName il valore del parametro
            // del metodo setSurName
            this.surName = surName;
        }

        // Metodo pubblico getSurName
        public string getSurName()
        {
            // Restituisco il valore della variabile a livello di classe surName
            return this.surName;
        }

        // Metodo pubblico setAge
        public void setAge(string age)
        {
            // Assegno alla variabile a livello di classe age il valore del parametro
            // del metodo setAge
            this.age = age;
        }

        // Metodo pubblico getAge
        public string getAge()
        {
            // Restituisco il valore della variabile a livello di classe age
            return this.age;
        }
    }
}

 

 

//dll .netFramework
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Data.SqlTypes;
using System.Windows.Forms;
using System.Data;

// Spazio dei nomi SqlSever_example
namespace SqlServer_example
{
    // Classe DataBaseManagement
    class DatabaseManagement
    {
        // Metodo getConnectionString
        private  string getConnectionString()
        {
            // Dichiaro una nuova istanza della Classe SqlConnectionStringBuilder
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

            // Assegno il nome del Server alla quale connettersi
            builder.DataSource = @".\SQLEXPRESS";
            // Assegno il nome e il percorso del DataBase alla quale collegarsi
            builder.AttachDBFilename = @"E:\Example.mdf";
            // Gestisco le credenziali di accesso Windows corrente
            builder.IntegratedSecurity = true;
            // Imposto tempo di attesa per connessione a DataBase Example1
            builder.ConnectTimeout = 30;
            builder.UserInstance = true;
            // Restituisco la stringa di Connessione al DataBase
            return builder.ConnectionString;
        }

        // Metodo insertData , richiede tre parametri , il nome , il cognome , l'età per l'inserimento all'interno del DataBase
        public void insertData(string name,string surName,string age)
        {
            // Dichiaro una nuova istanza della Classe SqlConnection
            SqlConnection connection = new SqlConnection(getConnectionString());
            // Dichiaro una TRANSLAT.SQL di inserimnto dati all'interno della Tabella1
            SqlCommand cmd = new SqlCommand("INSERT INTO TABELLA1 (NOME,COGNOME,AGE) VALUES (@NOME,@COGNOME,@AGE)", connection);

            // Prova
            try
            {
                // Eseguo L'inserimento del valore della variabile name all'interno del campo NOME della Tabella1 su DataBase Example.mdf
                cmd.Parameters.AddWithValue("@NOME", name.ToUpper());
                // Eseguo L'inserimento del valore della variabile name all'interno del campo COGNOME della Tabella1 su DataBase Example.mdf
                cmd.Parameters.AddWithValue("@COGNOME", surName.ToUpper());
                // Eseguo L'inserimento del valore della variabile name all'interno del campo AGE della Tabella1 su DataBase Example.mdf
                cmd.Parameters.AddWithValue("@AGE", age.ToUpper());
                // Apro la connessione con il DataBase Example.mdf
                connection.Open();
                // Eseguo l'istruzione TRANSLAT.SQL
                cmd.ExecuteNonQuery();
                // Chiudo la connessione con il DataBase Example.mdf
                connection.Close();
                // Libero tutte le risorse associate alla connessione al DataBase Example.mdf
                connection.Dispose();
              
            }

            // In caso di eccezzione a runtime
            catch (Exception ex)
            {
                // Visualizzo messaggio errore a ytente
                MessageBox.Show(ex.Message.ToString());
                // Chiudo la connessione con il DataBase Example.mdf
                connection.Close();
                // Libero tutte le risorse associate alla connessione al DataBase Example.mdf
                connection.Dispose();
            }

            finally
            {
                // Chiudo la connessione con il DataBase Example.mdf
                connection.Close();
                // Libero tutte le risorse associate alla connessione al DataBase Example.mdf
                connection.Dispose();
            }
        }

        // Metodo deleteData , richiede tre parametri , il nome , il cognome , l'età per l'inserimento all'interno del DataBase
        public void deleteData(string name, string surName, string age)
        {
            // Dichiaro una nuova istanza della Classe SqlConnection
            SqlConnection connection = new SqlConnection(getConnectionString());
            // Dichiaro una TRANSLAT.SQL di eliminazione dati all'interno della Tabella1
            SqlCommand cmd = new SqlCommand("DELETE FROM TABELLA1 WHERE NOME = @NOME AND COGNOME = @COGNOME AND AGE = @AGE",connection);

            // Prova
            try
            {
                // Eseguo L'eliminazione del valore della variabile name all'interno del campo NOME della Tabella1 su DataBase Example.mdf
                cmd.Parameters.AddWithValue("@NOME", name.ToUpper());
                // Eseguo L'eliminazione del valore della variabile name all'interno del campo COGNOME della Tabella1 su DataBase Example.mdf
                cmd.Parameters.AddWithValue("@COGNOME", surName.ToUpper());
                // Eseguo L'eliminazione del valore della variabile name all'interno del campo AGE della Tabella1 su DataBase Example.mdf
                cmd.Parameters.AddWithValue("@AGE", age.ToUpper());
                // Apro la connessione con il DataBase Example.mdf
                connection.Open();
                // Eseguo l'istruzione TRANSLAT.SQL
                cmd.ExecuteNonQuery();
                // Chiudo la connessione con il DataBase Example.mdf
                connection.Close();
                // Libero tutte le risorse associate alla connessione al DataBase Example.mdf
                connection.Dispose();

            }

            // In caso di eccezzione a runtime
            catch (Exception ex)
            {
                // Visualizzo messaggio errore a ytente
                MessageBox.Show(ex.Message.ToString());
                // Chiudo la connessione con il DataBase Example.mdf
                connection.Close();
                // Libero tutte le risorse associate alla connessione al DataBase Example.mdf
                connection.Dispose();
            }

            finally
            {
                // Chiudo la connessione con il DataBase Example.mdf
                connection.Close();
                // Libero tutte le risorse associate alla connessione al DataBase Example.mdf
                connection.Dispose();
            }
        }

        // Metodo updateData , richiede tre parametri , il nome , il cognome , l'età per l'inserimento all'interno del DataBase
        public void updateData(string name, string surName, string age)
        {
            // Dichiaro una nuova istanza della Classe SqlConnection
            SqlConnection connection = new SqlConnection(getConnectionString());
            // Dichiaro una TRANSLAT.SQL di aggiornamento dati all'interno della Tabella1
            SqlCommand cmd = new SqlCommand("UPDATE TABELLA1 SET NOME = @NOME,COGNOME = @COGNOME,AGE = @AGE WHERE NOME = @NOME" , connection);

            // Prova
            try
            {
                // Eseguo L'aggiornamento del valore della variabile name all'interno del campo NOME della Tabella1 su DataBase Example.mdf
                cmd.Parameters.AddWithValue("@NOME", name.ToUpper());
                // Eseguo L'aggiornamento del valore della variabile name all'interno del campo COGNOME della Tabella1 su DataBase Example.mdf
                cmd.Parameters.AddWithValue("@COGNOME", surName.ToUpper());
                // Eseguo L'aggiornamento del valore della variabile name all'interno del campo AGE della Tabella1 su DataBase Example.mdf
                cmd.Parameters.AddWithValue("@AGE", age.ToUpper());
                // Apro la connessione con il DataBase Example.mdf
                connection.Open();
                // Eseguo l'istruzione TRANSLAT.SQL
                cmd.ExecuteNonQuery();
                // Chiudo la connessione con il DataBase Example.mdf
                connection.Close();
                // Libero tutte le risorse associate alla connessione al DataBase Example.mdf
                connection.Dispose();

            }

            // In caso di eccezzione a runtime
            catch (Exception ex)
            {
                // Visualizzo messaggio errore a ytente
                MessageBox.Show(ex.Message.ToString());
                // Chiudo la connessione con il DataBase Example.mdf
                connection.Close();
                // Libero tutte le risorse associate alla connessione al DataBase Example.mdf
                connection.Dispose();
            }

            finally
            {
                // Chiudo la connessione con il DataBase Example.mdf
                connection.Close();
                // Libero tutte le risorse associate alla connessione al DataBase Example.mdf
                connection.Dispose();
            }
        }
    }
}

The DataBase Example.mdf example has afixed path "E: \ Example.mdf",is then adapted to a more suitable locationon your PC.

And finally the codeof the DataBase Management Class.

Print | posted on sabato 17 settembre 2011 00:47 | Filed Under [ Articles C# in English ]

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 6 and 5 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET