Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНАЯ РАБОТА Web-сервис.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
68 Кб
Скачать
☆

1. Программирование Web-сервиса

1. Создать новый Web-сервис:

Пуск | Microsoft Visual Studio 2005 | Microsoft Visual Studio 2005

ф. Microsoft Visual Studio | File → New → Web Site… → ф. New Web Site → Visual Studio Installed Templates → выбр. Web Service →

Location → выбр. HTTP → http://имя_сервера(например, localhost)/WebService

Language → выбр. Visual C#

2. Открыть вкладку (если она не открылась автоматически) App_Code/Service. cs. Установить курсов в программный код, отображенный на экране.

3. Добавить подключение библиотек для работы с базами данных (System. Data, System. Data. SqlTypes и System. Data. SqlClient) и обработки XML-данных (System. Xml):

using System. Data;

using System. Data. SqlTypes;

using System. Data. SqlClient;

using System. Xml;

4. Создать новый Web-метод GetFaculty, возвращающий в XML-формате список факультетов, полученный в результате запроса к базе данных:

[WebMethod]

public DataSet GetFaculty()

{

}

Весь последующий код из этого пункта вводить между открывающей и закрывающей угловыми скобками.

4.1 Создать строковую переменную sql и занести в нее SQL-код запроса к базе данных:

string sql = "select '0' as id, 'Выбор факультета...' as name from Faculty union select * from Faculty";

4.2 Установить соединение с базой данных. Для этого создать экземпляр класса SqlConnection, а конструктору этого класса в качестве параметра передать параметры соединения с базой данных

University:

SqlConnection conn = new SqlConnection("Data Source=имя_сервера;Initial Catalog=University;Integrated Security=True");

4.3 Открыть соединение с помощью метода Open:

conn. Open();

4.4 Создать новый набор данных (экземпляр класса DataSet). Присвоить набору данных название Faculty:

DataSet ds = new DataSet("Faculty");

4.5 Создать экземпляр класса SqlDataAdapter для извлечения информации из базы данных. В качестве параметров конструктору класса передать текст запроса (переменная sql и объект соединения conn:

SqlDataAdapter adapt = new SqlDataAdapter(sql, conn);

4.6 Создать в объекте DataSet (с именем Faculty) новую таблицу данных (DataTable) под именем f и заполнить ее результатом запроса к базе данных:

adapt. Fill(ds, "f");

4.7 В качестве возвращаемого методом значения указать объект ds:

return ds;

5. Аналогичным образом создать Web-методы GetSpec и GetGr, возвращающие в формате XML списки специальностей и групп соответственно.

6. Создать Web-метод University_DataSet, который на основании кодов факультета, специальности и группы возвращает данные об успеваемости студентов. Входные параметры указать при объявлении метода после его имени:

public DataSet University_DataSet(string faculty, string spec, int gr)

Текст запроса задать в виде:

string sql = "select rtrim(fio) as fio, rtrim(subject) as subject, rtrim(ocenka) as ocenka, CONVERT(CHAR(25),data,104) as data from Faculty inner join Speciality on Faculty. id=Speciality. faculty inner join Groups on Speciality. id=Groups. spec inner join Student on Groups. id=Student. gr inner join Uspev on Student. zk=Uspev. student where Faculty. id='"+faculty+"' and Speciality. id='"+spec+"' and Groups. id="+gr;