ADOX и таблицы
От: Бодряк  
Дата: 20.10.03 09:28
Оценка:
Как определить количество строк (полей) в таблице?

20.10.03 17:51: Перенесено модератором из 'C/C++' — ПК
Re: ADOX и таблицы
От: serega  
Дата: 20.10.03 10:00
Оценка: 2 (1)
Здравствуйте, Бодряк, Вы писали:

Б>Как определить количество строк (полей) в таблице?


Так строк или полей
можно так

int main(int argc, char* argv[])
{
    _ConnectionPtr   pConn;
    _RecordsetPtr    pRs;
    _variant_t  l;
    
    CoInitialize(NULL);
    pConn.CreateInstance(_uuidof(Connection));
    pRs.CreateInstance(__uuidof(Recordset));

    pConn->Open(L"Provider=SQLOLEDB;Data Source=?;Initial Catalog=?; User ID=?;Password=?;","","",adConnectUnspecified); 
        
   pRs->CursorLocation = adUseClient; 
   pRs->Open(L"select * from Employee",(_variant_t)(IDispatch*)pConn,adOpenForwardOnly,adLockUnspecified,-1);
   
   long lFieldCnt  = pRs->Fields->Count; // поля 
   long lRecordCnt = pRs->RecordCount; // строки - работает не всегда нужен клиентский курсор 
    
    return 0;
}
Re[2]: ADOX и таблицы
От: scorpio_cat Россия  
Дата: 21.10.03 06:29
Оценка:
Здравствуйте, serega, Вы писали:

S>Здравствуйте, Бодряк, Вы писали:


Б>>Как определить количество строк (полей) в таблице?


S>
S> .....
S>   long lFieldCnt  = pRs->Fields->Count; // поля 
S>   long lRecordCnt = pRs->RecordCount; // строки - работает не всегда нужен клиентский курсор 
S>


Количество строк может считать SQL-сервер:
SELECT COUNT(*) FROM table
... << RSDN@Home 1.1 beta 2 >>
Re[3]: ADOX и таблицы
От: oRover Украина  
Дата: 26.10.03 18:17
Оценка:
Здравствуйте, scorpio_cat, Вы писали:

_>Здравствуйте, serega, Вы писали:


S>>Здравствуйте, Бодряк, Вы писали:


Б>>>Как определить количество строк (полей) в таблице?


S>>
S>> .....
S>>   long lFieldCnt  = pRs->Fields->Count; // поля 
S>>   long lRecordCnt = pRs->RecordCount; // строки - работает не всегда нужен клиентский курсор 
S>>


_>Количество строк может считать SQL-сервер:

_>
_>SELECT COUNT(*) FROM table
_>


кол-во полей тоже:

declare @id_table int
SELECT @id_table = id from sysobjects WHERE name='XXX'
SELECT count(name) FROM syscolumns WHERE id = @id_table


можно еще и во вьюв объединить и одним запросом сделать
... << RSDN@Home 1.1 beta 2 >>
Re: ADOX и таблицы
От: Максим Украина http://members.rogers.com/amdmax/
Дата: 26.10.03 18:47
Оценка:
Здравствуйте, Бодряк, Вы писали:

Б>Как определить количество строк (полей) в таблице?


в Классе CDataTable есть свойство Rows/Columns. Через метод интерфейс ICollection.Count можно получить количество строк/столбцов в таблице.
Т.е.
CDataTable Mydatatable;
Mydatatable.Rows.Count должно работать если я правильно понял вопрос.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.