Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизПогогите сделать 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.041 c