Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.28;
Скачать: CL | DM;

Вниз

Индекс MS SQL не работает   Найти похожие ветки 

 
korn   (2002-10-06 15:49) [0]

Помогите, знающие люди! Программка на D6. Подключаюсь через ADOСonnection к MS SQL. Все работает нормально. НО, указав в свойствах таблицы ADOTable индекс MS SQL типа IX_Person (зозданный в Enterprice Manager"е), результата не получаю. Система на индекс не ругается, но и записи не упорядочивает. Если же просто указать в свойствах таблицы IndexField, то все работает, но мне-то нужен ТОТ индекс, с сервера... Как быть?


 
wicked ©   (2002-10-06 17:14) [1]

1. использовать свойство Sort (а есть ли оно у TADOTable?...)
2. не использовать ADOTable... вместо него использовать ADODataSet и в запросе упорядочивать так, как нужно... или использовать Sort - он там точно есть...


 
vuk ©   (2002-10-06 20:05) [2]

Обычные индексы (не кластерные) создаются не для упорядочивания записей, а для ускорения выборок. Напротив, кластерные индексы создаются для физического упорядочивания записей. Понятное дело, что кластерный индекс у таблицы может быть только один и его желательно создавать для полей, значения которых будут только возрастать по мере добавления записей, иначе будут лишние расходы на вставку записей.
А сортировку записей, как уже сказано, лучше выполнять при формировании запроса при помощи предложения order by.


 
korn   (2002-10-06 20:47) [3]

Thanx! Попробую разобраться...


 
korn   (2002-10-07 10:48) [4]

1) Нет там в свойствах "Sort" ни у Table, ни у DataSet... :-(
2) Зачем же мне наворачивать запросы, если я просто желаю показать пользователю DBGrid с упорядоченным списком фамилий?... Хотя, может это концептуально и более правильно.

А в книжках и Help"ах пишут, что должно работать... Мда... Что бы такое придумать?...


 
sniknik ©   (2002-10-07 11:38) [5]

свойство sort есть у ADOTable а не Table, внимательней к ответам.

property Sort: WideString;
ADOQuery1.Sort := "LastName ASC, DateDue DESC"

кстати если у тебя Table то значит и BDE? т.е. дикая связка BDE->ODBC->MSSQL что не есть good. (возможны ошибки именно изза этого, хотя ошибки сомнительно но вот функционал снижается точно, а ошибки как ожидание чегото что в этой связке не работает)


 
vuk ©   (2002-10-07 14:37) [6]

>Зачем же мне наворачивать запросы
А в любом случае без SQL не обойтись, правда если Вы используете ADOTable, то запрос будет сгенерирован без Вашего участия. И какая в результате разница?


 
korn   (2002-10-08 08:02) [7]

1) Я понял в чем дело. Свойства SORT нет ни у TTable, ни у TADOTable В ИНСПЕКТОРЕ ОБЪЕКТОВ (почему-то). "ReadOnly", а потом сразу "TableDirect". Но В ПРИНЦИПЕ оно есть. И это отлично! :-)

2) И на счет Query это, пожалуй, очень правильное замечание...

Спасибо ребята! Огромное спасибо за помошь! Давно "живу" на этом сайте, но не перестаю удивляться его полезности...



Страницы: 1 вся ветка

Текущий архив: 2002.10.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-92574
Геннадий
2002-10-16 16:14
2002.10.28
Подскажите с TNotifyEvent


4-92809
Nubie
2002-09-13 16:00
2002.10.28
???List View???


14-92695
raiv
2002-10-08 09:56
2002.10.28
Уважаемые знатоки Delphi, у меня к Вам вот такой вопрос.


3-92410
Hro
2002-10-04 23:00
2002.10.28
Подскажите оптимальное решение!


14-92707
Skier
2002-10-08 15:44
2002.10.28
Как через интернет отправить SMS сообщение на мобильник ?