Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / reader.NextResult() / 25 сообщений из 47, страница 1 из 2
29.01.2013, 17:03
    #38129218
VIT2708
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
Подскажите как правильно работать с reader.NextResult()

есть ХР

select count(*) from table1 where type=1
select count(*) from table1 where type=2

в программе создал класс

public class TT
{
public Int32 t1 {get; set;}
public Int32 t2 {get; set;}
}


в самой программе пытаюсь прочитать результаты селектов

//......
TT t = new TT();

do
{
while (reader.Read())
{
t.t1 = (Int32)reader[0];
t.t2 = (Int32)reader[0];
}
}
while (reader.NextResult());
//......

смотрел MSDN но так и ничего не понял, может не туда смотрел.

Сама проблема в том как считать результаты ХР в которой два селекта в обьект?

Спасибо.
...
Рейтинг: 0 / 0
29.01.2013, 17:13
    #38129243
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
...
Рейтинг: 0 / 0
29.01.2013, 17:15
    #38129248
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
P.S.: в MSDN, в конце статьи есть раздел "См. также".
...
Рейтинг: 0 / 0
29.01.2013, 17:23
    #38129271
VIT2708
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
skyANA,

За ссылку спасибо так то понятно если берутся данные из таблиц и столбцы известны но в моем случае вылетает ошибка

Specified cast is not valid.

я никак не могу понять это столбцы или что то другое?
...
Рейтинг: 0 / 0
29.01.2013, 17:25
    #38129277
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
http://codearticles.ru/home/articleview/1383

Код: c#
1.
IEnumerable<Product> products = DataMapper.Map<Product>(command.ExecuteReader());
...
Рейтинг: 0 / 0
29.01.2013, 17:39
    #38129313
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
VIT2708skyANA,

За ссылку спасибо так то понятно если берутся данные из таблиц и столбцы известны но в моем случае вылетает ошибка

Specified cast is not valid.

я никак не могу понять это столбцы или что то другое? А в отладке посмотреть не судьба на какой строке вылетает? Какого типа объект reader[0]?
Используйте Convert.ToInt32(reader[0]) или reader.GetInt32(0) вместо (Int32)reader[0].
...
Рейтинг: 0 / 0
29.01.2013, 17:51
    #38129343
VIT2708
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
skyANA,

"SqlReader"

Вот ХР

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE PROCEDURE [Test] 
	@userid bigint
as
begin
	select count(*)
	  from [table]
		where userid=@userid and type=1

	select count(*)
	  from [table]
		where userid=@userid and type=2
end




в результате получается результат количество строк
первый например = 5

второй = 23

и как эти результаты считать SqlReader?
...
Рейтинг: 0 / 0
29.01.2013, 17:53
    #38129350
VIT2708
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
МСУ,

Ого!!! а у вас в заначке попроще решение есть?
...
Рейтинг: 0 / 0
29.01.2013, 17:55
    #38129358
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
VIT2708МСУ, Ого!!! а у вас в заначке попроще решение есть?
Есть. ORM.
...
Рейтинг: 0 / 0
29.01.2013, 17:59
    #38129374
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
МСУVIT2708МСУ, Ого!!! а у вас в заначке попроще решение есть?
Есть. ORM.
МСУ ридером пользоваться не умеет, поэтому - ОРМ.
Доказательства имеются на его сайте
...
Рейтинг: 0 / 0
29.01.2013, 18:01
    #38129381
.
.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
group by type
...
Рейтинг: 0 / 0
29.01.2013, 18:06
    #38129402
VIT2708
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
.,

в смысле?
...
Рейтинг: 0 / 0
29.01.2013, 18:10
    #38129411
.
.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
в смысле добавь группировку в свой SQL
...
Рейтинг: 0 / 0
29.01.2013, 18:10
    #38129412
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
VIT2708skyANA,

"SqlReader"

Вот ХР

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE PROCEDURE [Test] 
	@userid bigint
as
begin
	select count(*)
	  from [table]
		where userid=@userid and type=1

	select count(*)
	  from [table]
		where userid=@userid and type=2
end




в результате получается результат количество строк
первый например = 5

второй = 23

и как эти результаты считать SqlReader?Ну Вы блин даёте!
По ссылке есть пример. Берём его и пишем:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
var command = new SqlCommand("Test", connection) { CommandType = CommandType.StoredProcedure };

command.Parameters.Add("userid", SqlDbType.Int).Value = 1;
connection.Open();

SqlDataReader reader = command.ExecuteReader();

while (reader.HasRows)
{
    // Console.WriteLine("Column name: {0}", reader.GetName(0));

    while (reader.Read())
    {
        Console.WriteLine("Count: {0}", reader.GetInt32(0));
    }

    reader.NextResult();
}
...
Рейтинг: 0 / 0
29.01.2013, 18:11
    #38129417
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
VIT2708в смысле?
в прямом - напиши одним запросом, а не двумя
...
Рейтинг: 0 / 0
29.01.2013, 18:15
    #38129429
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
Изопропил, для случая ТС код считывания данных не зависит от кол-ва запросов в ХП, так что ему это не поможет.
...
Рейтинг: 0 / 0
29.01.2013, 18:27
    #38129459
VIT2708
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
skyANA,

Спасибо получилось
...
Рейтинг: 0 / 0
29.01.2013, 19:23
    #38129554
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
ИзопропилМСУпропущено...

Есть. ORM.
МСУ ридером пользоваться не умеет, поэтому - ОРМ.
Доказательства имеются на его сайте
Рано тебе еще про ридеры, когда в голове пустота - визивиг редактор, генерящий стили, цирк шумел.
...
Рейтинг: 0 / 0
29.01.2013, 20:44
    #38129647
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
МСУРано тебе еще про ридеры, когда в голове пустота - визивиг редактор, генерящий стили, цирк шумел.

Весело однако в цирке.

Визивиг со стилями - это совершенно нормально в вёрстке ( конечно, если слова PageMaker, QuarkXPress, InDesign - не пустой звук)
...
Рейтинг: 0 / 0
29.01.2013, 20:48
    #38129652
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
МСУРано тебе еще про ридеры
Ты бы это людям не показывал, а то ведь так и кондратий хватить может-
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
private Image GetImageFromDb(SqlCommand cmd)
{
    try
    {
        cmd.Connection.Open();
        using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
        {
            dr.Read();
            if (dr[0] != DBNull.Value)
                using (MemoryStream ms = new MemoryStream((byte[])dr[0]))
                    return new Bitmap(ms);
            return null;                      
        }
    }
    catch
    {
        return null;
    }
}

using (SqlConnection conn = new SqlConnection("..."))
{
    if (pictureBox1.Image != null)
        pictureBox1.Image.Dispose();
    pictureBox1.Image = GetImageFromDb(new SqlCommand("select top 1 f from t", conn));
}
...
Рейтинг: 0 / 0
29.01.2013, 20:59
    #38129667
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
ИзопропилМСУРано тебе еще про ридеры, когда в голове пустота - визивиг редактор, генерящий стили, цирк шумел.

Весело однако в цирке.

Визивиг со стилями - это совершенно нормально в вёрстке ( конечно, если слова PageMaker, QuarkXPress, InDesign - не пустой звук)
Визивиг со стилями при копипасте - это бред сивой кобылы, причем полупьяной. Че, ты б не пейджмейкер уж приводи, а фотошоп и визуал студио. Ты мне скажи, какую травы ты нонче куришь? Еще раз для бронированных - речь о хтмл визивиг эдиторах, следи за пальцами. В курсе, о чем я?
...
Рейтинг: 0 / 0
29.01.2013, 21:04
    #38129676
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
ИзопропилМСУРано тебе еще про ридеры
Ты бы это людям не показывал, а то ведь так и кондратий хватить может-
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
private Image GetImageFromDb(SqlCommand cmd)
{
    try
    {
        cmd.Connection.Open();
        using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
        {
            dr.Read();
            if (dr[0] != DBNull.Value)
                using (MemoryStream ms = new MemoryStream((byte[])dr[0]))
                    return new Bitmap(ms);
            return null;                      
        }
    }
    catch
    {
        return null;
    }
}

using (SqlConnection conn = new SqlConnection("..."))
{
    if (pictureBox1.Image != null)
        pictureBox1.Image.Dispose();
    pictureBox1.Image = GetImageFromDb(new SqlCommand("select top 1 f from t", conn));
}


Не нравится, пасись в сторонке. Никого ни к чему не принуждаю.
...
Рейтинг: 0 / 0
29.01.2013, 21:12
    #38129683
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
МСУНе нравится, пасись в сторонке. Никого ни к чему не принуждаю.
в каком цирке учат проглатывать исключения, а чтение из ридера не проверять на наличие результата?

Был бы личный код - и ладно, но ты ведь учить всех вокруг пытаешься.
...
Рейтинг: 0 / 0
29.01.2013, 21:49
    #38129716
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
ИзопропилМСУНе нравится, пасись в сторонке. Никого ни к чему не принуждаю.
в каком цирке учат проглатывать исключения, а чтение из ридера не проверять на наличие результата?

Был бы личный код - и ладно, но ты ведь учить всех вокруг пытаешься.
Пасись, пророк. Сказал же. Дверь сзади.
...
Рейтинг: 0 / 0
29.01.2013, 22:14
    #38129747
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reader.NextResult()
МСУ,

не нервничай
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / reader.NextResult() / 25 сообщений из 47, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]