Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
07 ADO.NET.doc
Скачиваний:
13
Добавлен:
22.11.2019
Размер:
196.1 Кб
Скачать

[Visual c#]

...

using System.Configuration;

using System.Data.SqlClient;

namespace SalesApplication

{

class DatabaseConnection

{

private ConnectionStringSettings myConnectionString;

private SqlConnection mySqlConnection;

private SqlCommand mySqlCommand;

public DatabaseConnection()

{

myConnectionString = ConfigurationManager.ConnectionStrings

["SalesApplication.Properties.Settings.AdventureWorksConnectionString"];

mySqlConnection = new

SqlConnection(myConnectionString.ConnectionString);

mySqlCommand = new SqlCommand();

}

public SqlCommand GetCommandObject()

{

mySqlCommand.Connection = mySqlConnection;

return mySqlCommand;

}

public void OpenConnection()

{

mySqlConnection.Open();

}

public void CloseConnection()

{

mySqlConnection.Close();

}

}

}

[Visual Basic]

...

Imports System.Configuration

Imports System.Data.SqlClient

Public Class DatabaseConnection

Private myConnectionString As ConnectionStringSettings

Private mySqlConnection As SqlConnection

Private mySqlCommand As SqlCommand

Public Sub New()

myConnectionString = ConfigurationManager.ConnectionStrings _

("SalesApplication.My.MySettings.AdventureWorksConnectionString")

mySqlConnection = New _

SqlConnection(myConnectionString.ConnectionString)

mySqlCommand = New SqlCommand()

End Sub

Public Function GetCommandObject() As SqlCommand

mySqlCommand.Connection = mySqlConnection

Return mySqlCommand

End Function

Public Sub OpenConnection()

mySqlConnection.Open()

End Sub

Public Sub CloseConnection()

mySqlConnection.Close()

End Sub

End Class

  • Используйте соединение с базой данных, чтобы получить общее количество продаж

  1. В обзоре решений, щелкните правой кнопкой мыши salesAdministrationForm, а затем нажмите View Code.

  2. В файле класса salesAdministrationForm, добавьте using (Visual C#) или оператор Imports (Visual Basic) для пространства имени System.Data.SqlClient.

  3. В классе salesAdministrationForm, определите местонахождение комментария TODO: [L7.2 Ex 1] Create DatabaseConnection and SqlCommand instances. Ниже этого комментария, создайте следующий:

    1. Закрытый экземпляр класса DatabaseConnection с именем myDatabaseConnection.

    2. Закрытый экземпляр класса объекта SqlCommand с именем mySqlCommand.

  4. В конструкторе salesAdministrationForm, определите местонахождение комментария TODO: [L7.2 Ex1] Initialize mySqlCommand. Инициализируйте значение объекта mySqlCommand возвращаемым значением метода GetCommandObject объекта myDatabaseConnection.

  5. В методе GetTotalNumberOfSales, в блоке try, определите местонахождение комментария TODO: [L7.2 Ex 1] Get total number of sales. Ниже этого комментария, добавьте код, чтобы выполнить следующее:

    1. Установите свойство CommandType объекта mySqlCommand к CommandType.Text.

    2. Укажите в свойстве CommandText объекта mySqlCommand запрос SQL, который считает общее количество продаж в таблице Sales.SalesOrderHeader.

    3. Вызовите метод OpenConnection объекта myDatabaseConnection.

    4. Укажите в свойстве Text надписи numberOfSalesLabel, текст Total Number of Sales: и результат метода ExecuteScalar объекта mySqlCommand.

    5. Вызовите метод CloseConnection объекта myDatabaseConnection

  6. В обработчике событий salesAdministrationForm_Load, вызовите метод GetTotalNumberOfSales.

  7. В меню File, нажмите Save All.

Ваш код должен выглядеть примерно так:

[Visual C#]

...

using System.Data.SqlClient;

namespace SalesApplication

{

public partial class salesAdministrationForm : Form

{

atabaseConnection myDatabaseConnection = new DatabaseConnection();

private SqlCommand mySqlCommand;

public salesAdministrationForm()

{

InitializeComponent();

mySqlCommand = myDatabaseConnection.GetCommandObject();

}

private void salesAdministrationForm_Load(object sender, EventArgs e)

{

GetTotalNumberOfSales();

}

private void GetTotalNumberOfSales()

{

try

{

mySqlCommand.CommandType = CommandType.Text;

mySqlCommand.CommandText = "SELECT COUNT(SalesOrderID) FROM "

+ "Sales.SalesOrderHeader";

myDatabaseConnection.OpenConnection();

numberOfSalesLabel.Text = "Total Number of Sales: " +

mySqlCommand.ExecuteScalar().ToString();

myDatabaseConnection.CloseConnection();

}

catch (Exception Ex)

{

MessageBox.Show(Ex.Message);

}

}

...

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]