The .NET Framework presents various database friendly
features. Per haps one of its strengths is the tight relationship between
Microsoft Visual Studio .NET and Microsoft SQL Server. This makes it
particularly easy to access a SQL Server database from a Visual Studio
.NET Windows application with very little effort. The job is handled with
just a few steps:
- Create a connection to the server
- Create a data adapter that includes a command used to access the data from
a database object such as a table or a view
- Create a DataSet object that would serve as the intermediary between the
data in the database and the controls of a graphical application
- Fill the DataSet object with the data adapter
After performing these steps, you can then bind your Windows
control(s) to the DataSet object.
Practical
Learning: Binding Data to a DataGrid
|
|
- If you want to follow this lesson, start Microsoft Visual Studio .NET and
create a Visual Basic Projects, a Visual C# Projects, a Visual J# Projects,
or a Visual C++ .NET Projects as a Windows (Form) Application
- Name it DBinder1
- From the Windows Forms section of the Toolbox, click the DataGrid control
and click the form
- Move and resize it to fit the form as much as possible:
- Double-click an empty area of the form to access its Load event
- Implement the event as follows:
Visual C++ .NET |
namespace DBinder1
{
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace System::Data::SqlClient;
. . . No Change
System::Void Form1_Load(System::Object * sender, System::EventArgs * e)
{
SqlConnection *sqlConn = new SqlConnection(String::Concat(
S"Server=(local);trusted_connection=true;",
S"database=Northwind"));
SqlDataAdapter *sqlDAP = new SqlDataAdapter(S"SELECT TitleOfCourtesy, FirstName, "
S"LastName, Title, HomePhone FROM Employees", sqlConn);
DataSet *dsEmployees = new DataSet(S"Employees");
sqlDAP->Fill(dsEmployees, S"Employees");
dataGrid1->DataSource = dsEmployees->Tables->Item[S"Employees"];
}
|
Visual Basic .NET |
Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Inherits System.Windows.Forms.Form
. . . No Change
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
Dim sqlConn As SqlConnection = New SqlConnection( _
"Server=(local);trusted_connection=true;" & _
"database=Northwind")
Dim sqlDAP As SqlDataAdapter = New SqlDataAdapter( _
"SELECT TitleOfCourtesy, FirstName, " & _
"LastName, Title, HomePhone FROM Employees", sqlConn)
Dim dsEmployees As DataSet = New DataSet("Employees")
sqlDAP.Fill(dsEmployees, "Employees")
dataGrid1.DataSource = dsEmployees.Tables("Employees")
End Sub
End Class
|
Visual C# |
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
. . . No Change
private void Form1_Load(object sender, System.EventArgs e)
{
SqlConnection sqlConn = new SqlConnection(
"Server=(local);trusted_connection=true;" +
"database=Northwind");
SqlDataAdapter sqlDAP = new SqlDataAdapter("SELECT TitleOfCourtesy, FirstName, " +
"LastName, Title, HomePhone FROM Employees", sqlConn);
DataSet dsEmployees = new DataSet("Employees");
sqlDAP.Fill(dsEmployees, "Employees");
dataGrid1.DataSource = dsEmployees.Tables["Employees"];
}
|
Visual J# |
package DBinder1;
import System.Drawing.*;
import System.Collections.*;
import System.ComponentModel.*;
import System.Windows.Forms.*;
import System.Data.*;
import System.Data.SqlClient.*;
. . . No Change
private void Form1_Load (Object sender, System.EventArgs e)
{
SqlConnection sqlConn = new SqlConnection(
"Server=(local);trusted_connection=true;" +
"database=Northwind");
SqlDataAdapter sqlDAP = new SqlDataAdapter("SELECT TitleOfCourtesy, FirstName, " +
"LastName, Title, HomePhone FROM Employees", sqlConn);
DataSet dsEmployees = new DataSet("Employees");
sqlDAP.Fill(dsEmployees, "Employees");
dataGrid1.set_DataSource(dsEmployees.get_Tables().get_Item("Employees"));
}
}
|
- Execute the application to test it
- Close the form
|
|