Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ADO + SQL / 4 сообщений из 4, страница 1 из 1
23.10.2008, 17:34
    #35612770
Guest_y
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + SQL
Microsoft Visual Studio 2008
Как записать строку для определения
· кол-ва записей в таблице
· количества столбцов в таблице
Код: plaintext
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.
27.
_ConnectionPtr pConn = NULL;
_RecordsetPtr pRS = NULL;
_bstr_t sql;
long m_iRecCount;
long m_iColumnCount;

sql = "SELECT * FROM IDENTITY WHERE TabNumber=1802"; 
Верхняя правильная,  2  нижеидущие НЕПРАВИЛЬНЫЕ
sql = "SELECT COUNT(*) FROM table_1"; // Error Description = Не удается найти объект в семействе, соответствующий требуемому имени 
или порядковому номеру.
sql = "SELECT * FROM table_1 COUNT(*)"; // Error Description = [Microsoft]
//	[Драйвер ODBC Microsoft Access] Ошибка синтаксиса в предложении FROM.

pRS->Open(sql,pConn->GetConnectionString(),adOpenStatic, adLockReadOnly,
		adCmdText);
m_iRecCount = pRS->Fields; // показывает 1,  фактически столбцов 52

if(!pRS->EndOfFile) // пока не конец таблицы, т.е. как это было раньше EOF
	{
		m_Name = pRS->GetFields()->GetItem("P1")->GetValue(); // из столбца
		// имя которого 'P1' выбираю фамилию
	} 
	else
	{
		AfxMessageBox("10b.\nФИО Could not be found",MB_OK, 0 ); 
	}
		pConn->Close();// close connection - соединение
	}
...
Рейтинг: 0 / 0
23.10.2008, 18:30
    #35612925
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + SQL
[quot Guest_y]
sql = "SELECT COUNT(*) FROM table_1";

это - правильный запрос для определения кол-ва строк в таблице.
У вас там что-то ещё не так.

А кол-во колонок в таблице узнать с помощью SQL нельзя, кол-во колонок в таблице вообще постоянно, не меняется.

Хотя, конечно можно выполнить
"SELECT * FROM table_1 where 1 = 2";

и посчитать колонки в наборе.
...
Рейтинг: 0 / 0
23.10.2008, 21:32
    #35613203
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + SQL
Можно и узнать, хотя и не кроссплатформенно. В МС SQL - syscolumns, где айди обжекта - как раз таблица и есть.
...
Рейтинг: 0 / 0
23.10.2008, 23:38
    #35613321
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + SQL
ADOX (через COM interop)

P.S. вместо syscolumns кошернее будет INFORMATION_SCHEMA.COLUMNS
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ADO + SQL / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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