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

Вниз

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



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

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

Наверх




Память: 0.55 MB
Время: 0.107 c
4-1080297332
frost
2004-03-26 13:35
2004.05.16
Стиль окна как в Outlook.


3-1082380121
Term
2004-04-19 17:08
2004.05.16
Можно ли в запросе три поля VARCHAR объеденить в одно


1-1083528929
magician
2004-05-03 00:15
2004.05.16
BitBlt


6-1080171712
DelphiCoder
2004-03-25 02:41
2004.05.16
Послать запрос на HTML- страницу


7-1081145534
Clawhammer
2004-04-05 10:12
2004.05.16
Установка Time Zone...