Главная страница
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.05 c
15-1141060320
Kerk
2006-02-27 20:12
2006.03.26
Пришла SMS. Вместо номера отправителя - строка "FBI".


1-1140510419
Гость101
2006-02-21 11:26
2006.03.26
TWebBrowser поиск


2-1141914459
oleg__
2006-03-09 17:27
2006.03.26
TRxFolderMonitor


15-1141110019
forb
2006-02-28 10:00
2006.03.26
Ищется программист для написания программы для курсовой работы


2-1142294469
Wood
2006-03-14 03:01
2006.03.26
Файл или каталог.