Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Про типы данных


Автор: Smorodin 29.9.2007, 08:12
Есть некий массив MyId:
int[] MyId = new int[50];

Так же есть запрос к базе Access, откуда мы достаем несколько полей, в том числе и ключевое поле id (оно нам понадобится для дальнейших операций).

Получаем массив данных dataRow[].

Есть у нас элемент listBox1.
Что мы делаем: 
listBox1.Items.Add(dataRow["name"]);
Здесь все отлично, все работает.

Но я хочу записать в массив значения dataRow["id"].

Если брать 
MyId[i] = dataRow["id"];

то ругается, мол, не могу конвертирвоать object в int.

А если MyId[i] = dataRow["id"].ToString();
то это тоже гн подходит, так как дальнейшим запросом будет изъять из базы запись по id, и ей нужно передать int а не string... 

Что делать?

Автор: HalkaR 29.9.2007, 10:57
Код

MyId[i] = (int)dataRow["id"];

Пойдет?

Автор: Bogdan1024 29.9.2007, 11:24
MyId[i] = dataRow["id"].ToInt();
?

Автор: tol05 29.9.2007, 11:46
Bogdan1024, а что такое ToInt()? Свойство Item у DataRow возвращает object.
Object не имеет метод ToInt()...

Автор: yar 29.9.2007, 12:20
Ещё можно попробовать использовать типизированный DataSet, тогда не надо будет постоянно приводить типы.

Автор: Bogdan1024 30.9.2007, 09:52
Цитата

Bogdan1024, а что такое ToInt()? Свойство Item у DataRow возвращает object.
Object не имеет метод ToInt()...

Значит, перепутал с чем-то...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)