Страница: 1 |
Вопрос: Чтение Dataset, полученного из запроса XML | Добавлено: 30.03.11 17:02 |
Автор вопроса: ![]() |
Привет народ!
Подскажите с такой проблемой. Есть сайт, с него запросом читаю XML в DataSet. Dim myHttpWebResponse As HttpWebResponse = myHttpWebRequest.GetResponse() Dim DS1 As DataSet = New DataSet() Dim sCom = "select * from response" Dim Conn1 As New OleDb.OleDbConnection Dim Adapt1 As New OleDb.OleDbDataAdapter(sCom, Conn1) Dim response_cmd As New OleDb.OleDbCommand response_cmd.CommandText = "select * from response" DS1.ReadXml((myHttpWebRequest.GetResponse()).GetResponseStream()) *тут датасет уже нормально содержит несколько таблиц с данными, по которым мне и надо ходить. Adapt1.SelectCommand = response_cmd Adapt1.Fill(DS1) тут выходит сообщение что не инициализирован Connection. понимаю что его надо инициализировать, но как? простого объявления его как новый объект видно недостаточно. конечная цель - обычными select-ами просто читать данные из xml (он логически выглядит как записи базы данных). |
Ответы | Всего ответов: 5 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #1 | Добавлено: 30.03.11 18:38 |
> Dim Conn1 As New OleDb.OleDbConnection
В конструкторе нужно указать строку подключения. Однако я не понимаю зачем здесь вообще OleDB нужен. После ReadXml в DataSet попадают данные и ты можешь с ними работать. DataAdapter здесь уже не нужен. Еще есть метод DataSet.ReadXml, который может в т.ч. скачать файл по http (указать в качестве аргумента "http://........." ![]() |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 39341479 Вопросов: 5 Ответов: 2 |
Профиль | Цитата | #2 | Добавлено: 31.03.11 10:10 |
DataAdapter и OleDb я прицепил только для того что б иметь возможность запрашивать данные из датасета запросами select, если это можно сделать это без адаптера - не подскажете - как именно?
webrequest я использовал так как запрос надо пропускать через прокси и по ssl. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #3 | Добавлено: 31.03.11 17:51 |
WebClient может работать через прокси и по https.
Kundor пишет:
DataAdapter и OleDb я прицепил только для того что б иметь возможность запрашивать данные из датасета запросами select, если это можно сделать это без адаптера - не подскажете - как именно? DataAdapter запрашивает данные из базы данных (напримре, акцесовская база данных). DataSet - это не база данных, а просто набор данных, находящийся в памяти. С ним нет необходимости использовать SQL (хотя есть возможность делать запросы, но там другой синтаксис). Если тебе нужно просто перебрать все данные, то в DataSet берешь нужную DataTable и проходишь по коллекции Rows. For Each row As DataRow In dataSet.Tables("Users" ![]() Console.WriteLine(row("UserName" ![]() Next ПРимерно так. Писал прямо тут, поэтом мог где-то ошибиться, но принцип такой. Если хочешь делать запросы для уточнения результатов, которые нужно перебрать, смотри метод DataTable.Select |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #4 | Добавлено: 01.04.11 10:48 |
Artyom пишет:
WebClient может работать через прокси а через socks? |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 39341479 Вопросов: 5 Ответов: 2 |
Профиль | Цитата | #5 | Добавлено: 04.04.11 14:04 |
спасиб, методами datatable получается. жалко что нет возможности просто из xml вытаскивать данные именно sql-запросами, имхо это гибче всего... |
Страница: 1 |
|