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;
