Возврат нескольких столбцов из процедуры SQL с помощью .NET - PullRequest
2 голосов
/ 21 февраля 2010

Я использую этот файл кода vb.net для вызова процедуры для получения дат (среди прочего).Когда я выполняю эту процедуру в SQL 2005 Server Management Studio, я получаю около 10 столбцов.Однако, когда я выполняю этот код, набор данных, кажется, имеет только одно значение индекса, возможно, я что-то неправильно понимаю.Когда я изменяю это

ds.Tables(0).Rows.Count.ToString

на

ds.Tables(1).Rows.Count.ToString  <---changing the index value to 1 
(or higher)

, я не получаю никакой информации.Итак, мой вопрос:

Содержит ли DataSet другие столбцы, только не проиндексированные как массив?Что я хочу сделать, это выбрать, какой из столбцов отфильтровать, и превратить остальные в строки в формате JSON.Буду также признателен за любые предложения о том, как этого добиться

Ответы [ 4 ]

2 голосов
/ 21 февраля 2010

Вы говорите о "столбцах" данных, но ваш фрагмент кода имеет дело с таблицами данных (результирующими наборами).

т.е. если ваш sproc делает что-то вроде этого:

SELECT Column1, Column2, Column3
FROM YourTable
WHERE ID = 123

, тогда в вашем наборе данных будет 1 DataTable, так как возвращается 1 набор результатов: ds.Tables(0).Он будет содержать 3 столбца: ds.Tables(0).Columns(n), где n равно от 0 до 2.

1 голос
/ 21 февраля 2010

Для последней части вашего вопроса, JSON, взгляните на

Microsoft JavascriptSerializer

Это просто случай Serialize (ds.Tables (0)), чтобы получить представление в формате JSON

1 голос
/ 21 февраля 2010

Когда вы делаете ds.Tables (i) .Rows.Count, вы просматриваете строки, которые были возвращены. Что именно вы пытаетесь сделать?

1 голос
/ 21 февраля 2010

редактировать

Вы также можете попробовать это:

 ds.Tables(0).Rows(0).Items.Count.ToString

и

 ds.Tables(0).Rows(0).Items(0).ToString

до

Вы проверяете строки, а не столбцы. Что значит

 ds.Tables(0).Columns.Count.ToString

вернуться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...