Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

DBGRID...   Найти похожие ветки 

 
Litva ©   (2004-04-16 13:20) [0]

Пишу такой код выдает ошибку "Field in order by must be in result set". В чем проблема, Мастера?

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
form1.Query1.SQL.Clear;
form1.Query1.SQL.Text:=("select * from events order by "+ column.FieldName);
form1.Query1.Active:=true;
end;


 
Reindeer Moss Eater ©   (2004-04-16 13:26) [1]

...
ShowMessage(form1.Query1.SQL.Text);
form1.Query1.Active:=true;


 
bushmen ©   (2004-04-16 13:37) [2]

Где-то я уже встречал точно такой же вопрос.


 
Reindeer Moss Eater ©   (2004-04-16 13:37) [3]

А я точно такой же ответ


 
Litva ©   (2004-04-16 13:42) [4]

Showmessage показывает... но как решит проблему?


 
Vlad ©   (2004-04-16 13:45) [5]

http://delphimaster.net/view/3-1082018541/
Тебе в прошлый раз все рассказали.


 
bushmen ©   (2004-04-16 13:45) [6]

>Showmessage показывает

А можно нам тоже увидеть? :)


 
Litva ©   (2004-04-16 14:06) [7]

я с литвы... Пожалуиста!..  :)


 
bushmen ©   (2004-04-16 14:08) [8]

>Litva ©   (16.04.04 14:06) [7]

Если у тебя плохо с русским, то тебе надо искать форумы на литовском языке


 
Vlad ©   (2004-04-16 14:09) [9]


> я с литвы... Пожалуиста!..  :)

Оч. приятно.

Так что там ShowMessage-то говорит ?


 
Reindeer Moss Eater ©   (2004-04-16 14:09) [10]

В Литве запрет на публиукацию в сети содержимого SQL.TEXT своих компонентов?
Надо обязательно к вам ехать что бы увидеть?


 
myor ©   (2004-04-16 14:11) [11]

чистая телепатия: поле, по которому ты кликаешь, в таблице есть events?


 
Litva ©   (2004-04-16 14:13) [12]

Ja sam litovec, a zena ruskaja... Tak uz izveni za oshibki..
no tvoji slova eщe raz dokazyvaet, 4to nacionalizm v litve i drugix postsovietskix stran delo samix ruskix... ja nekogda nebyl nacionalistam, sam rabotal za granicoj- tam toze uvazaet drugije oby4ije, nacionalnost... zal...


 
myor ©   (2004-04-16 14:13) [13]

[11]

ну, конечно так:

...есть в таблице events?


 
Vlad ©   (2004-04-16 14:16) [14]


> Litva ©   (16.04.04 14:13) [12]

Эээ... товарищ, причем тут национализм ?
Ты бы по делу говорил, тебя уже два или три раза спросили что покажет ShowMessage, вместо этого ты тут начинаешь объяснять что ты из Литвы.
Так что там по делу то ?


 
Litva ©   (2004-04-16 14:17) [15]

v litve ne zapret, tut malo saitov po povodu Delphi- vse kinuvshis na C. Literatura na angliskom doroga ~40-60 evrov, na ruskom malo(tepereshniaja molodez ruskovo ne umeet).


 
myor ©   (2004-04-16 14:17) [16]

2 [12]

перестань, это не национальный наезд, просто ребята хотят увидеть запрос, который у тебя формируется при клике.

см.
Reindeer Moss Eater ©   (16.04.04 13:26) [1]
...
ShowMessage(form1.Query1.SQL.Text);

согласись, без этого трудновато что-то предлагать.


 
Fiend ©   (2004-04-16 14:18) [17]

То Litva:
дорогой друг! не надо сюда приплетать национализм. Народ хотел посмеяться над твоим ответом не в тему, если ты сам этого не заметил!

тебя просят показать текст запроса который будет в итоге выполняться, а ты говоришь:
Я мол из Литвы - помогите! Чем тебе помочь то? если ты сам себе помогать не хочешь!


 
Litva ©   (2004-04-16 14:19) [18]

Showmessage pokazyvaet "select * from events order by "+" Nr"- ja pokazal priamo na nazvanije field (Nr)


 
Reindeer Moss Eater ©   (2004-04-16 14:20) [19]

Нихрена он не может такое показывать дорогая Литва


 
Litva ©   (2004-04-16 14:20) [20]

Ja nechotel zatejavat nienuznyx debatov- izvenite...


 
Vlad ©   (2004-04-16 14:21) [21]


> "select * from events order by "+" Nr"

не обманывай, не это у тебя ShowMеssage показывает, во всяком случае исходя из приведенного тобой кода.


 
myor ©   (2004-04-16 14:21) [22]

поле nr в таблице events?


 
Reindeer Moss Eater ©   (2004-04-16 14:22) [23]

Edit1.Text:=form1.Query1.SQL.Text;

CTRL+C

и сюда

CTRL+V


 
Litva ©   (2004-04-16 14:23) [24]

kod sei4as:

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
form1.Query1.Active:=false;
form1.Query1.SQL.Text:=("select * from klientai order by "+" Nr");
ShowMessage(form1.Query1.SQL.Text);
form1.Query1.Active:=true;
end;


 
Reindeer Moss Eater ©   (2004-04-16 14:26) [25]

Выполнить

select Nr from klientai

в sql експлорере


 
myor ©   (2004-04-16 14:28) [26]

form1.Query1.SQL.Text:=("select * from events, klientai order by "+ column.FieldName


 
Litva ©   (2004-04-16 14:29) [27]

On pokazal stolbik NR


 
Плохиш   (2004-04-16 14:32) [28]

Не понятно, код в [24] работает или нет?


 
Litva ©   (2004-04-16 14:32) [29]

>myor
sei4as nazav na raznyje stolbcy pokazyvaet "select * from events, klientai order by " i nazvanyje stolbca


 
Vlad ©   (2004-04-16 14:34) [30]

form1. убери


 
bushmen ©   (2004-04-16 14:35) [31]

>myor ©   (16.04.04 14:28) [26]

А скобку за тебя будет папа Римский закрывать?


 
myor ©   (2004-04-16 14:36) [32]

[29] извини, что-то я не понял.
так, вернемся во времена адама

приведи код запроса, который выводит данные в грид (не тот, которым ты хочешь сортировать!)


 
Litva ©   (2004-04-16 14:36) [33]

ni4evo ne meniajet...


 
myor ©   (2004-04-16 14:38) [34]

[26] нет, папа старенький, пусть один из кардиналов.
как скопировал, так и вышло - тороплюсь же сделать доброе дело.


 
Плохиш   (2004-04-16 14:38) [35]

>Litva ©   (16.04.04 14:32) [29]

Ну наконец-то пришли к ветке, указанной в [5]

PS. Объясняю на пальцах: После закрытия источника данных, поля в нём уничтожаются (не существуют) и соответственно столбцов в связанном dbgrid-е тоже. Что делать? Сохранять fieldname во временную переменную до закрытия источника данных и не вести себя как чукча, который писатель.


 
roottim   (2004-04-16 14:47) [36]

2Плохиш   (16.04.04 14:38) [35]
> После закрытия источника данных, поля в нём уничтожаются (не существуют) и соответственно столбцов в связанном dbgrid-е тоже
это так, но если нет статичного определения TColumns

а если нет.. то все верно...
и наверно лучше объясняь небольшим кодом, а не словами
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var vFieldName: String;
begin
 vFieldName := Column.FieldName;
 Query1.SQL.Close;
 Query1.SQL.Text:="select * from events order by "+ column.FieldName;
 Query1.Open;
end;


 
Плохиш   (2004-04-16 14:48) [37]

>roottim   (16.04.04 14:47) [36]

> и наверно лучше объясняь небольшим кодом, а не словами

Может и лучше, но только кодом без ошибок


 
roottim   (2004-04-16 14:50) [38]

не спорю :)
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var vFieldName: String;
begin
vFieldName := Column.FieldName;
Query1.SQL.Close;
Query1.SQL.Text:="select * from events order by "+ vFieldName;
Query1.Open;
end;


 
roottim   (2004-04-16 14:51) [39]

и еще раз...
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var vFieldName: String;
begin
vFieldName := Column.FieldName;
Query1.Close;
Query1.SQL.Text:="select * from events order by "+ vFieldName;
Query1.Open;
end;


 
Litva ©   (2004-04-16 14:56) [40]

Pokazyvaet oshibku
field in order by must be in result set


 
Litva ©   (2004-04-16 14:58) [41]

Sorry.. DB ne pokazal.. no sei4as nereagiruet


 
Litva ©   (2004-04-16 15:03) [42]

Izvenite, ponimaju 4to ja vas zakolebal.. Sorry


 
myor ©   (2004-04-16 15:06) [43]

ну, как?


 
Litva ©   (2004-04-16 15:23) [44]

ne rabotaet... :(


 
Vlad ©   (2004-04-16 15:25) [45]


> Litva ©   (16.04.04 15:23) [44]
> ne rabotaet... :(

Товарищ, давай прекращать страдать фигней.
Точно опиши, что происходит после выполнения этого кода, и приведи актуальный код снова.


 
myor ©   (2004-04-16 15:28) [46]

как ты мне дорог (ц) :)

что (как) конкретно (что делаешь) не работает?

опять телепатируемЖ

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var vFieldName: String;
begin
vFieldName := Column.FieldName;
Query1.Close;
Query1.SQL.Text:="select * from events, klientai order by "+ vFieldName;
Query1.Open;
end;


 
roottim   (2004-04-16 15:31) [47]

1. для начала укажи тип БД
2. исходный текст покажи Query1.SQL
  а то неясно - то ли это таблица events то ли klientai
3. После Выполнения кода, после order by должно быть наименование поля таблицы
если выбор идет из 2-х таблиц и в обоих присутствует данное поле, то необходимо указать таблица.поле (или псевдоним.поле)
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var vFieldName: String;
begin
 vFieldName := Column.FieldName;
 Query1.Close;
 Query1.SQL.Text:="select * from events order by "+ vFieldName;
 ShowMessage(Query1.SQL.Text);
 Query1.Open;
end;


 
Litva ©   (2004-04-16 15:35) [48]

ponimaju, 4to delphi tiolko u4u, no ne dumal 4to nastolko tupoj( izvenite, zlius sam na sebia)...
>что (как) конкретно (что делаешь) не работает?
nazav na column.fiel(nazvanije stolbca) sortirovka ne proishodit..


 
Vlad ©   (2004-04-16 15:38) [49]


> Litva ©   (16.04.04 15:35) [48]

Еще раз настойчиво рекомендую привести актуальный код твоей процедуры, и более подробно описать, что же все таки происходит ?

> sortirovka ne proishodit..

А что происходит ? Мы же не телепаты, мы не видим то, что ты видишь на своем экране


 
myor ©   (2004-04-16 15:40) [50]

[48]
еще подробнее
по какому полю?
какие поля в запросе?
из каких таблиц?

читай [47]


 
DenK_vrtz ©   (2004-04-16 15:49) [51]

Уж дело к вечеру...

> Litva ©  

Дорогой, вам столько примеров привели и подсказок дали, что одним копированием этих примеров и модернизацией оных под свою задачу можно было добиться результатов.
Почти три часа решается ваш вопрос, а вы к его решению не приклыдваете никаких усилий.


 
myor ©   (2004-04-16 16:54) [52]

возможно, будет проще скачать ehlib и использовать dbgrideh. но с проблемой нужно разобраться. :(


 
Johnmen ©   (2004-04-16 20:33) [53]

М-да... Весело...
Такое ощущение, что автору надо бросить своё занятие и ехать заграницу, где все такие пушистые, и уж там окончательно забыть о программинге...
Не его это, не его...
:)


 
Litva ©   (2004-04-16 21:30) [54]

Ja ne programist


 
Litva ©   (2004-04-16 21:35) [55]

Izvenite za vashe potra4enoe vremia- za malo u menia znanij, 4toby vyjasniat voprosy 4erez rastojanije.... No spasibo za terpenije i ponimanie...
>Johnmen
  Mozet i ne moje, no uporstva poka xvotajet, budu u4it...


 
Vopros ©   (2004-04-19 10:21) [56]

Да земляк, надеюсь проблему уже решил:))


 
Ega23 ©   (2004-04-19 10:40) [57]

Напиши не Select * from, а перечисли все поля : Select ID, Name, .... from


 
Reindeer Moss Eater ©   (2004-04-19 10:43) [58]

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


 
Ega23 ©   (2004-04-19 10:47) [59]

Да? Надо поподробней почитать, а то я ветку как-то бегло просмотрел...


 
Hawk2 ©   (2004-04-19 10:54) [60]

Reindeer Moss Eater ©   (19.04.04 10:43) [58]
Сейчас автор увидит что его посту опять уделили внимание и начнется по новой, ведь прошло два дня, небось новых вопросов накопилось... :)


 
Ega23 ©   (2004-04-19 10:58) [61]

На самом деле, когда я только начинал с базами, вопролсы у меня были не менее тупые, и я как баран не мог въехать в ответы.

2 Litva © : Не переживай, все когда-то не умели программировать.


 
Anatoly Podgoretsky ©   (2004-04-19 11:08) [62]

Hawk2 ©   (19.04.04 10:54) [60]
Почему бы и нет, ничего плохого в этом нет.



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

Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.59 MB
Время: 0.038 c
14-1082973413
AGAMEMNUM
2004-04-26 13:56
2004.05.16
монополия на инет


14-1083081391
RealRascal
2004-04-27 19:56
2004.05.16
Тараканы вымерли?


3-1082484394
I.Ru.Ru
2004-04-20 22:06
2004.05.16
Связывание одной дочерней таблицы с двумя родительскими


8-1075045587
Driverrr
2004-01-25 18:46
2004.05.16
Детектор движения


1-1083344545
Alpupil
2004-04-30 21:02
2004.05.16
HTCAPTION





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский