Сортировка в DBGrid.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dromok
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 27.02.2006 (Пн) 22:26

Сортировка в DBGrid.

Сообщение Dromok » 26.06.2006 (Пн) 15:21

Есть у меня база данных... беру я из нее данные и засовываю в стандартный DBGrid

в таблице имеем мы записи "id заказа", "номер заказа"
в номере заказа 9-значные номера
так вот, надо его отсортировать по следующей схеме... сначало по 1-ой цифре, потом по 5-9 и наконец по 2-4. Как это лучше сделать?

я думал сначало брать из базы все заказы и вырезать со 2 по 4 знак... потом преобразовывать в число и сортировать... и потом уже програмно засовывать в DBGrid

но подсказали более элегантное решение... с помощью SQL запросы пишем что-то типа "SELECT заказ FROM заказы ORDER BY mid('заказ',1,1), mid('заказ',5,5)"

первый способ я пока отбросил по причине того что никак немогу разобрать, как программно заполнять поля в DBGrid

второй способ элементарно не заработал...

подскажите, пожалуйста, как лучше сделать?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.06.2006 (Пн) 15:40

Изучить первые 5 страниц книги "SQL для чайников", чтобы понять, почему он элементарно не заработал? :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dromok
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 27.02.2006 (Пн) 22:26

Сообщение Dromok » 27.06.2006 (Вт) 7:55

если это так просто могли бы и сказать в чем ошибка... синтаксически в этом запросе ошибки нет... а в доступной литературе по SQL у меня нет даже упоминания о функции MID

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 27.06.2006 (Вт) 8:43

Если ты ничего не знаешь про SQL, то что можно подсказать? Только RTFM. Или выкладывай весь код, от соединения с бд до привязки к гриду. Кроме того, если у тебя SQL Server, то вместо mid пиши substring.
Лучший способ понять что-то самому — объяснить это другому.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 27.06.2006 (Вт) 9:08

Да кавычки убери!

Dromok
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 27.02.2006 (Пн) 22:26

Сообщение Dromok » 27.06.2006 (Вт) 9:51

Nicky
спасибо! Всё заработало.

Хмм, привык я работать с MySQL. Там как раз этот пример без кавычек не заработал бы. Даже в голову не пришло что в акцессе может быть по другому :)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.06.2006 (Вт) 10:10

Какие некрепкие нервы у Nicky всё-таки...

Dromok
Забудь всё, что ты знаешь о MySQL, когда ты начинаешь работать с нормальной базой. Они извратили SQL как хотели. Хотя в данном конкретном случае и в MySQL работало бы без кавычек.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dromok
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 27.02.2006 (Пн) 22:26

Сообщение Dromok » 27.06.2006 (Вт) 10:22

GSerg писал(а):Забудь всё, что ты знаешь о MySQL, когда ты начинаешь работать с нормальной базой. Они извратили SQL как хотели.

учту.

И почему у Nicky не крепкие нервы? Человек реально помог вместо того чтобы отсылать читать доки. Я же был уверен, что если никто толком ничего сразу не сказал, то ошибка кроется гораздо глубже, поэтому на такую элементарную вещь как кавычки не обратил внимание.

Насчет MySQL ничего сказать немогу... извратили там SQL или нет... знаю только что работать с ним было удобнее в отличие от акцесса (но здесь конечно можно списать на мой малый опыт работы с акцессом).

Тем не менее большое всем спасибо за помощь!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.06.2006 (Вт) 10:51

Здесь всё наоборот. Если никто ничего толком не сказал, значит ошибка настолько очевидна, что как-то даже неловко о ней говорить.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 27.06.2006 (Вт) 10:54

GSerg писал(а):Какие некрепкие нервы у Nicky

А вы хотели помучать? Нежнее...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 69

    TopList