Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка в БД, Как отсортировать записи в БД 
:(
    Опции темы
COOLJohn
  Дата 12.1.2006, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 30.12.2005

Репутация: нет
Всего: нет



Можно-ли при помощи такого кода (сортировка методом слияния) сортировать поля в базе данных:
Код

type ar=array1[1..n] of integer;
var k,m,i:integer;
a,b,c:ar;

procedure sorting4;
var s,i,j:integer;
begin
i:=1;
j:=1;
s:=1;
{i-номер обрабатываемого элемента части а
 j-номер обрабатываемого элемента части b
 s-номер заполняемого массива части с}
while (i<=k) and (j<=m) do
{пока не закончилась хотя-бы одна чать}
begin
if a[i]<=b[i] then 
begin c[s]:=a[i]; inc(i); end
else begin c[s]:=b[j]; inc(i); end;
inc(s);
end;
{один из массивов-частей обработан полностью}
{осталось перенести в С остаток другого массива-части}
while i<=k do
begin c[s]:=a[i]; inc(i); inc(s); end;
while j<=m do
begin c[s]:=b[j]; inc(j); inc(s); end;
end;

procedure sorting2(var p:ar; len:integer);
var f,i,t:integer
{f - номер просмотра (изменяется от 1 до n-1)
 i - номер рассматриваемой пары
 t - промежуточная переменная для перестановки местами элементов}
begin
for f:=1 to len-1 do
{цикл по номеры просмотра}
for i:=1 to len-f do
if p[i]>p[i+1] then
{перестановка элементов}
begin
t:=p[i];
p[i]:=p[i+1];
p[i+1]:=t;
end;
end;

begin
k:=n div 2;
{n-порядковый номер последней записи}
m:=n-k;
for i:=1 to k do a[i]:=?Первое поле таблицы[порядковый номер существующей записи]?;
for i:=1 to m do b[i]:=?Первое поле таблицы[порядковый номер существующей записи+k]?;
sorting2(a,k);
sorting2(b,m);
sorting4;
for i:=1 to n do ?Первое поле таблицы[порядковый номер существующей записи]?;
end.


Сортировать по другому мне нельзя, если только другим методом сортировки.

Тип базы данных Paradox 7.
SQL использовать не могу, т.к. обязательно нужно пременить метод сортировки.

Это сообщение отредактировал(а) COOLJohn - 12.1.2006, 10:21
PM MAIL   Вверх
Guedda
Дата 12.1.2006, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: нет
Всего: 78



А какой тип базы данных? Paradox, DB...?
Можешь ли ты воспользоваться SQL???


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
<Spawn>
Дата 12.1.2006, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 2
Всего: 64



Если используешь SQL, то читай хелп оп ORDER BY (Обрати внимание на направления сортировки - ASC, DESC)


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0670 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.