Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> присвоить количество строк int переменной. После выбора SQL 
:(
    Опции темы
Colloseum
Дата 4.7.2006, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 4.7.2006

Репутация: нет
Всего: нет



Хочу узнать количество строк в таблице и присвоить значение int переменной.
Kак это сделать.

Код

OleDbConnection cn = new OleDbConnection();
cn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\db1_OF.mdb";
cn.Open();

string strSQL = "SELECT COUNT(*) FROM departments";
OleDbCommand mycommand = new OleDbCommand(strSQL, cn);

OleDbDataReader myDR;
myDR = mycommand.ExecuteReader();

int numOfLines = myDR[""]; как тут присвоить???

while (myDR.Read())
{
    Console.WriteLine("OC: " + myDR[""]); Че тут писать??
}         
myDR.Close();
cn.Close();
Console.Read();
 
PM MAIL   Вверх
mr.DUDA
Дата 4.7.2006, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Вообще-то для результатов типа COUNT(*) юзается ExecuteScalar:

Код

int numOfLines = (int)mycommand.ExecuteScalar();
  


--------------------
user posted image
PM MAIL WWW   Вверх
Maka6er
  Дата 26.11.2007, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 27.2.2007
Где: Киев

Репутация: нет
Всего: 3



Пишу: 

Код

cmd.CommandText = "SELECT COUNT(*) FROM mytable";
...
int i = (int)  mycommand.ExecuteScalar();


Выскакивает эксепшн.

Меняю:

Код

object i = mycommand.ExecuteScalar();


Нормально. В  i записано нужное мне значение.

Интерфейс odbc. База данных: Oracle9i.

Кто сталкивался подскажите как решить?
PM MAIL   Вверх
thomas
Дата 26.11.2007, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



Maka6er, 
Привет
Напиши функцию типа этой
Код

public object doScalar(string sql)
        {
            object oRes=null;

            try
            {
                dbCmd.CommandText = sql;
                dbCmd.CommandType = CommandType.Text;
                dbCon.Open();
                oRes = dbCmd.ExecuteScalar();
            }
            catch (Exception Ex)
            {
                System.Windows.Forms.MessageBox.Show("Fout SqlDB.doScalar " + sql + ": " + Ex.Message);
            }
            //finally
            {
                dbCon.Close();
                return oRes;
            }
        }

Функция возвратит обьект с результатом
А как и где использовать результат это твой выбор.
Можешь в int преобразовать, а можешь в string.
Код

int i = Convert.ToInt32(doScalar("SELECT COUNT(*) FROM mytable"));

Что-то типа этого.


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.