Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.26;
Скачать: 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 вся ветка

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

Наверх




Память: 0.5 MB
Время: 0.055 c
6-1134481685
KosTiger
2005-12-13 16:48
2006.03.26
Сервер авторизации


6-1134400711
ZeFiR
2005-12-12 18:18
2006.03.26
Как вывести в заголовок окна название страницы, загруженной в TWe


15-1140944240
Vahan
2006-02-26 11:57
2006.03.26
Kомплексные числа . pas


1-1140522828
Alkid
2006-02-21 14:53
2006.03.26
проблема с TControlBar


1-1140370850
Matrex
2006-02-19 20:40
2006.03.26
«Мягкие» границы для Битмапа…