Вниз
Скачать: CL | DM;

Погогите сделать SELECT   Найти похожие ветки 

← →
setis ©   (2006-03-12 07:12) [0]

Помогите. Как сделать SELECT? Какие компоненты надо добавить и что с ними сделать и какой код написать?
Описание программы:
В программу добавлены ADOConnection1, ADOQuery1, DataSource1, DBGrid1. Связь сделана. Field"ы это название столбцов в таблице которые выбирают по усматрению пользователя. N - это время из таблицы идет фильтрование по времени.
При запуске программы когда я выбираю все столбы то ошибки нет, а когда некоторые из них то идет ошибка SELECT.

Field_string:="SELECT TIME "+","+field1+", "+field2+", "+field3+",
"+field4+", "+field5+", "+field6+", "+field7+", "+field8+", "+field9+",
"+field10+", "+field11+", "+field12+", "+field13+", "+field14+",
"+field15+", "+field16+", "+field17+", "+field18;

Where_string:="WHERE(TIME/"+n+"=1)or(TIME/"+n+"=2)or(TIME/"+n+"=3)or(TIME/"+n+"=4)or(TIME/"+n+"=5)or(TIME/"+n+"=6)or(TIME/"+n+"=7)or(TIME/"+n+"=8)or(TIME/"+n+"=9)or(TIME/"+n+"=10)or(TIME/"+n+"=11)or(TIME/"+n+"=12)or(TIME/"+n+"=13)or(TIME/"+n+"=14)or(TIME/"+n+"=15)";

Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Add(Field_String);
Form1.ADOQuery1.SQL.Add("FROM basa");
Form1.ADOQuery1.SQL.Add(Where_String);
Form1.ADOQuery1.SQL.Add("ORDER BY TIME");
Form1.ADOQuery1.ExecSQL;

Form1.ADOQuery1.Prepared:=True;
Form1.ADOQuery1.Active:=True;


← →
Virgo_Style ©   (2006-03-12 09:38) [1]


>Form1.ADOQuery1.ExecSQL;
>Form1.ADOQuery1.Prepared:=True;
> Form1.ADOQuery1.Active:=True;


Ух ты.


> Field_string:=
> Where_string:=


Есть такая штука, как цикл For, очень полезная.

И вообще описание проблемы и код в каких-то сложных отношениях, мне кажется...


← →
ViktorZ ©   (2006-03-12 12:51) [2]

Query1.Sql.text:= "Select Field1, Field2, Field3 From Table";
Query1.open;
Это все!


← →
Anatoly Podgoretsky ©   (2006-03-12 12:54) [3]

ViktorZ ©   (12.03.06 12:51) [2]
Не все - не дожно быть создано полей в dataset и колонок в dbGrid


← →
setis ©   (2006-03-12 15:50) [4]

Query1.Sql.text:= "Select Field1, Field2, Field3 From Table";

Нет так не пойдет, так высвечиваются все столбы, а мне надо чтобы они высвечивались по запросу. Как это сделать?


← →
Virgo_Style ©   (2006-03-12 16:02) [5]

setis ©   (12.03.06 15:50) [4]

какие укажешь, те и "высвечиваются"


← →
Плохиш ©   (2006-03-12 21:27) [6]


> Field_string:="SELECT TIME "+","+field1+", "+field2+", "+field3+",
>
> "+field4+", "+field5+", "+field6+", "+field7+", "+field8+",
>  "+field9+",
> "+field10+", "+field11+", "+field12+", "+field13+", "+field14+",
>
> "+field15+", "+field16+", "+field17+", "+field18;
>
> Where_string:="WHERE(TIME/"+n+"=1)or(TIME/"+n+"=2)or(TIME/"+n+"=3)or(TIME/"+n+"=4)or(TIME/"+n+"=5)or(TIME/"+n+"=6)or(TIME/"+n+"=7)or(TIME/"+n+"=8)or(TIME/"+n+"=9)or(TIME/"+n+"=10)or(TIME/"+n+"=11)or(TIME/"+n+"=12)or(TIME/"+n+"=13)or(TIME/"+n+"=14)or(TIME/"+n+"=15)";
>

Что это, Беримор?


← →
Virgo_Style ©   (2006-03-12 21:33) [7]

овсянка, сэр.

или спагетти?


← →
setis ©   (2006-03-13 07:58) [8]

fieldам присваивается название столбцов в зависимости есть ли CheckBox1.Checked
а так я думал добовлять столбцы но при выборе некотрорых выдает ошибку select.
>Field_string:="SELECT TIME "+","+field1+", "+field2+", "+field3+",
> "+field4+", "+field5+", "+field6+", "+field7+", "+field8+",
>  "+field9+", "+field10+", "+field11+", "+field12+", "+field13+", "+field14+",
>  "+field15+", "+field16+", "+field17+", "+field18;
а это сортировка по вермени вместо цикла
>Where_string:="WHERE(TIME/"+n+"=1)or(TIME/"+n+"=2)or(TIME/"+n+"=3)or(TIME/"+n+"=4)or(TIME/"+n+"=5)or(TIME/"+n+"=6)or(TIME/"+n+"=7)or(TIME/"+n+"=8)or(TIME/"+n+"=9)or(TIME/"+n+"=10)or(TIME/"+n+"=11)or(TIME/"+n+"=12)or(TIME/"+n+"=13)or(TIME/"+n+"=14)or(TIME/"+n+"=15)";

Я прошу мне помочь сделать так чтобы при нек.Checked добовлялись эти столбцы соответсвующим CheckBox.


← →
Плохиш ©   (2006-03-13 10:52) [9]


> setis ©   (13.03.06 07:58) [8]
> fieldам присваивается название столбцов в зависимости есть
> ли CheckBox1.Checked

Правда? Из кода это конечно очень хорошо видно. Только ткни, пожалуйста, мне непонятливому, в то место твоего кода, где происходит проверка CheckBox1.Checked.


← →
setis ©   (2006-03-13 11:26) [10]

вот проверка которую я написал
if CheckBox1.Checked then Field1:="название столбца;
и так 18 раз


← →
msguns ©   (2006-03-13 11:30) [11]

А нельзя запросом вытаскивать все поля, а вот в гриде "выключать" все ненужные колонки ?
В этом случае даже не надо лишний раз озадачивать "сервер".


← →
Плохиш ©   (2006-03-13 11:57) [12]


> setis ©   (13.03.06 11:26) [10]
> вот проверка которую я написал
> if CheckBox1.Checked then Field1:="название столбца;

Тогда ясно это

> При запуске программы когда я выбираю все столбы то ошибки
> нет, а когда некоторые из них то идет ошибка SELECT.

select field1,,,,,, from ...
Где Ваша логика?
Если Вы хотите формировать запрос вручную, то собирайте его постепенно

 Field_string:="SELECT TIME";
 if CheckBox1.Checked then Field_string:=Field_string + "," + "название столбца;
 ...

Для Where_string тоже самое.


← →
setis ©   (2006-03-13 17:14) [13]

Спасибо всем за помощь.



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.041 c
2-1141737745
DelphiLexx
2006-03-07 16:22
2006.03.26
Выскакивания окна подобно вызовам методам в Delphi


4-1136317129
noclip
2006-01-03 22:38
2006.03.26
Как узнать прокрученность Memo?


15-1141165762
McSimm
2006-03-01 01:29
2006.03.26
Специально для пользователей клиентских программ


2-1141897963
DelphiN!
2006-03-09 12:52
2006.03.26
Перевод массива ASCLL кодов в их символьное представление


2-1142085774
хочу все знать
2006-03-11 17:02
2006.03.26
изменение диапазона цикла FOR внутри цикла




   Наверх