Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > Базы данных

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 18.06.2002, 17:52
sapenov вне форума Посмотреть профиль Отправить личное сообщение для sapenov Посетить домашнюю страницу sapenov Найти все сообщения от sapenov
  № 11  
sapenov

Регистрация: Feb 2001
Адрес: Canada, Toronto
Сообщений: 167
а куда выводить то ?
в браузер ?
и на каком языке программа нужна ?

Select TOP 5 from Table ORDER BY id DESC
выдаёт ошибку:

The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.


скорее всего проблема из-за слова ' Table ' - слово зарезервировано для нужд SQL и названия таблиц с таким именем будут вызывать вышеупомянутые ошибки.
__________________
Кто смел - тот цел.

http://www.php.kz/


Последний раз редактировалось sapenov; 18.06.2002 в 17:57.
Старый 18.06.2002, 18:32
Несс вне форума Посмотреть профиль Отправить личное сообщение для Несс Посетить домашнюю страницу Несс Найти все сообщения от Несс
  № 12  
Несс

Регистрация: Jun 2002
Адрес: Тель-Авив
Сообщений: 27
Отправить сообщение для Несс с помощью ICQ
Облазив пол-интернета я выяснила, что TOP здесь не подходит, он (насколько я поняла) занимается полями в таблице, а не полными записями. Теперь я пришла к выводу что нужно написать так:
Код:
Select * from Table ORDER BY id DESC WHERE Condition
Table, id, Condition - просто названия, у меня они другие.

или просто:
Код:
Select * from Table  WHERE Condition
А в Condition подставить условие при котором оно бы выводило 5 последних (последних внесённых, т.к. база постоянно пополняется) записей.

У объекта Recorset есть property RecordCount, которому положено выдавать кол-во записей в базе. А в моём случае он выдаёт -1, хотя там 10 записей. Вот ищу другие способы.
Выводить в обычный HTML, браузер - IE5.5, язык - ASP (s VBScriptом) и SQL.

Старый 18.06.2002, 22:26
sapenov вне форума Посмотреть профиль Отправить личное сообщение для sapenov Посетить домашнюю страницу sapenov Найти все сообщения от sapenov
  № 13  
sapenov

Регистрация: Feb 2001
Адрес: Canada, Toronto
Сообщений: 167
я ASP не знаю
__________________
Кто смел - тот цел.

http://www.php.kz/

Старый 18.06.2002, 23:39
Несс вне форума Посмотреть профиль Отправить личное сообщение для Несс Посетить домашнюю страницу Несс Найти все сообщения от Несс
  № 14  
Несс

Регистрация: Jun 2002
Адрес: Тель-Авив
Сообщений: 27
Отправить сообщение для Несс с помощью ICQ
Так код-то на SQL нужен.

Старый 18.06.2002, 23:50
sapenov вне форума Посмотреть профиль Отправить личное сообщение для sapenov Посетить домашнюю страницу sapenov Найти все сообщения от sapenov
  № 15  
sapenov

Регистрация: Feb 2001
Адрес: Canada, Toronto
Сообщений: 167
кто у вас отвечает за соединение с базой ?

ADO? ODBC ? MS Access Driver ?
__________________
Кто смел - тот цел.

http://www.php.kz/

Старый 19.06.2002, 00:04
Несс вне форума Посмотреть профиль Отправить личное сообщение для Несс Посетить домашнюю страницу Несс Найти все сообщения от Несс
  № 16  
Несс

Регистрация: Jun 2002
Адрес: Тель-Авив
Сообщений: 27
Отправить сообщение для Несс с помощью ICQ
Код:
set conn=server.CreateObject("ADODB.connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
Выбирайте


Последний раз редактировалось Несс; 19.06.2002 в 00:07.
Старый 19.06.2002, 14:27
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 17  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Оригинал написал(а) Несс
А в Condition подставить условие при котором оно бы выводило 5 последних (последних внесённых, т.к. база постоянно пополняется) записей.
Увы, в рамках ANSI SQL это в общем случае решения не имеет. Возможны решения в рамках нестандартных расширений (limit в MySQL, top и set rowcount в MS SQL и т.п.).

С другой стороны. почему бы тебе просто не прочесть 5 нужных тебе записей и закрыть RecordSet?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 19.06.2002, 14:43
Несс вне форума Посмотреть профиль Отправить личное сообщение для Несс Посетить домашнюю страницу Несс Найти все сообщения от Несс
  № 18  
Несс

Регистрация: Jun 2002
Адрес: Тель-Авив
Сообщений: 27
Отправить сообщение для Несс с помощью ICQ
Цитата:
Оригинал написал Crazy


Увы, в рамках ANSI SQL это в общем случае решения не имеет. Возможны решения в рамках нестандартных расширений (limit в MySQL, top и set rowcount в MS SQL и т.п.).

С другой стороны. почему бы тебе просто не прочесть 5 нужных тебе записей и закрыть RecordSet?
Другими словами:
пишу гостевую, но не хочу выводить на одну страницу все записи, через некоторое время их будет многовато для одного листа, вот и хочу выводить лишь 5 последних.
А можно поподробнее о set rowcount ?

Старый 19.06.2002, 14:52
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 19  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Просто добавь в while условие со счетчиком -- и он завершится в нужный момент.

LoadedRows = 0;
while (старое условие) and (LoadedRows<5) ...

LoadedRows = LoadedRows + 1
end

Что же до "set rowcount", то это расширение MS SQL:

set rowcount 100 -- вывести первые 100 записей результата.
set rowcount 0 -- вывести все записи результата.

Не исключено, что excel тоже на это среагирует, но я сильно сомневаюсь.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 19.06.2002, 18:44
Несс вне форума Посмотреть профиль Отправить личное сообщение для Несс Посетить домашнюю страницу Несс Найти все сообщения от Несс
  № 20  
Несс

Регистрация: Jun 2002
Адрес: Тель-Авив
Сообщений: 27
Отправить сообщение для Несс с помощью ICQ
Хм...почему, интересно, я искала сложный путь, если можно было так, по-простому... Даже расстроилась...
Большое спасибо, Crazy, Вы мне второй раз уже помогаете

Создать новую тему   Часовой пояс GMT +4, время: 13:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:26.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.