Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка по БД, пузырь :) 
:(
    Опции темы
Makarofff
Дата 27.4.2005, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Надо сделать сортировку в таблице по номеру строки, не используя ключ.Создал поле number (paradox).

По методу пузырька делал, голова болит и ничего не фурычит
Цитата


procedure sort;
const
n = 2;
var
a : array[1..n] of integer;
i,j,k,rab : integer;
begin
Form1.Table1.RecNo:=1;
For i:=1 to Form1.Table1.RecordCount do begin
a[i]:= Form1.Table1.RecNo ;
Form1.Table1.RecNo:= Form1.Table1.RecNo+1 ;
end;
for i:=1 to n-1 do
for j:=1 to n-i do
  if a[j]>a[j+1] then
  begin
    rab := a[j+1];
    a[j+1]:=a[j];
    a[j]:=rab;
  for k:=1 to Form1.Table1.RecordCount do    begin
  Form1.Table1.RecNo:= a[k];
    end;
  end;



Процедуру вызываю в formactivate между Table1.Active :=false; и труе.
PM MAIL   Вверх
Pakshin A. S.
Дата 27.4.2005, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А использовать SQL? Вроде тама есть параметр order by, который отвечает за сортировку по заданному полю... smile
PM   Вверх
Vit
Дата 27.4.2005, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


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

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



Мдя ... СЛАВА ВЕЛОСИПЕДОСТРОИТЕЛЯМ!

Используй SQL, всё очень просто и ЗНАЧИТЕЛЬНО быстрее чем пузырьками...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Guest
Дата 27.4.2005, 23:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











не мудри, закинь на форму query и пропиши, приблизительно в этом духе
Код

select name,gd from person group by gd

  Вверх
DimW
Дата 28.4.2005, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

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



Цитата
select name,gd from person group by gd
smile
я не понял мы сортируем или груперуем....?

Код

SELECT NAME1, NAME2
FROM TABLE_NAME
ORDER BY 1






PM MAIL ICQ   Вверх
Makarofff
Дата 30.4.2005, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



У меня ошибка лезет "No such table or correlation name"
PM MAIL   Вверх
Pakshin A. S.
Дата 1.5.2005, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Код

SELECT * FROM DemoTable ORDER BY Field1;

Код

SELECT Field1, Field2 FROM DemoTable ORDER BY Field1;

Это не срабатывает?! Тогда проверь таблички... smile Или предоставь запрос...
PM   Вверх
Makarofff
Дата 2.5.2005, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата
with form1.Query1 do begin


          SQL.Add('SELECT N, Name, Publisher, Autor, Comments');
          SQL.Add('FROM "D:\Delphi\Borland\Delphi7\???????\???? ?????? ?????\school.db"');


          SQL.Add('ORDER BY N');


        end;
end;

PM MAIL   Вверх
Pakshin A. S.
Дата 2.5.2005, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Странно... а все названия точны?
PM   Вверх
Makarofff
Дата 2.5.2005, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Pakshin @ 2.5.2005, 20:41)
Странно... а все названия точны?

Да,не ругается.
PM MAIL   Вверх
innok
Дата 3.5.2005, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



MakarofffА через SQLExplorer?
PM MAIL   Вверх
Makarofff
Дата 8.5.2005, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Короче пашет сортировка, но тогда в таблицу не добавляются данные,кнопка navigatorа + не активна
PM MAIL   Вверх
Makarofff
Дата 9.5.2005, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вопрос :

Цитата
with form1.Query1 do begin
           Close;       // ??????? ????-????????? ?????????? ??????????? ???????
           SQL.Clear;   // ??????? ????? ??????????? ???????
           // ?????????? ????? ?????? ? ???????? SQL
           SQL.Add('SELECT Name');
           SQL.Add('FROM "' + dirname + '\' + 'school.db' + '"');
           SQL.Add('WHERE (TRIM (Name) ) LIKE "%'+ naz +'%"');
         
           Open;   

Где naz - это критерий поиска.
Почему когда исп. LIKE у меня появляются значения указанного поля , а других нет?

ПОнял, потому что надо SELECT *

Это сообщение отредактировал(а) Makarofff - 9.5.2005, 21:43
PM MAIL   Вверх
Makarofff
Дата 10.5.2005, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Проблема!!!При добавлении записи

With Form1.Query1 do begin
close;;
Sql.Clear ;
Sql.Add('INSERT INTO School (N,Name,Comments) ');
Sql.add('VALUES ("'+ n + '","'+name12+'","'+name11+'") ') ;
open;
end;

Error creating kursor handle
Как исправить?
PM MAIL   Вверх
innok
Дата 11.5.2005, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Makarofff
нужно не open, a execsql. Insert into.... не возвращает результирующего набора данных, что и говорится в послании.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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