Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.52/23: Рейтинг темы: голосов - 23, средняя оценка - 4.52
0 / 0 / 1
Регистрация: 11.03.2009
Сообщений: 44
1

sql+delphi

23.03.2009, 09:31. Просмотров 4560. Ответов 36
Метки нет (Все метки)

я только начал осваивать sql и delphi, базу подключил связи настроил,нужна помощь в следующем:
1) есть dbgrid, на каждым столбцом свой edit,нужно чтоб при введении букв в edit,в зависимости какая буква чтобы столбец dbgrid сортировался
вот мой текст проги но таким образом не получается:
Delphi
1
2
mstable1.IndexFieldNames:='Дата';
mstable1.FindNearest([edit1.text]);
2) проблема с запросом,делаю динамический запрос(т.е при введении значений в editы),есть dbgrid и msquery, почему то в msquery в Parameters,я не могу сосздать,почему то не доступно создание((( вот на этом застопорился
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2009, 09:31
Ответы с готовыми решениями:

SQL-запрос в Delphi и в Access один и тот же, но в Delphi не работает
ри обращение к базе в Access я использую код: with ADOQueryMain do begin Active:=false;...

SQL и ComboBox в Delphi. Нужно чтобы при выборе специальности в комбобоксе это значение вносилось в SQL запрос
procedure TForm3.Button2Click(Sender: TObject); begin try ADOQuery1.SQL.Clear;...

SQL в Delphi
Всем доброго времени суток, подскажите кто в курсе как правильно при использовании insert и update...

Delphi и sql
есть 2-форма на 1-ой форме dbgrid в нем данные из sql, на форму 2,в dbgrid хочу вывечти данные из...

36
Супер-модератор
8737 / 2445 / 139
Регистрация: 07.03.2007
Сообщений: 11,677
23.03.2009, 09:35 2
tnts, у меня сразу два вопроса:
1) как это вы предполагаете сортировать по определенной букве, еще фильтровать ладно, понимаю, но вот сортировать, даже интересно
2) покажи код ваших потуг с запросом
0
0 / 0 / 1
Регистрация: 11.03.2009
Сообщений: 44
23.03.2009, 11:39  [ТС] 3
извините ошибся,точнее фильтровать..

в самом компоненте msquery, в параметре SQL запрос:select Учет_картриджей.Дата,Учет_картриджей.Модель_картриджа,Учет_к артриджей.ФИО from Учет_картриджей , но параметр Parameters, не доступен и я не могу там создать параметры,на кнопку осуществляется запрос с параметрами введенные в edit,сombobox
procedure TForm3.Button2Click(Sender: TObject);
Delphi
1
2
3
4
5
6
7
begin
msquery1.Close;
msquery1.Params.ParamByName('Дата').AsDate:=datetimepicker1.DateTime;
msquery1.Params.ParamByName('Модель_картриджа').asstring:=combobox1.Text;
msquery1.Params.ParamByName('ФИО').asstring:=edit2.Text;
msquery1.Open;
end;
0
Супер-модератор
8737 / 2445 / 139
Регистрация: 07.03.2007
Сообщений: 11,677
23.03.2009, 11:53 4
чтобы фильтровать, как вы хотите
в источнике данных надо строку дописывать либо в Filter для TTable, либо LIKE ... для TQuery.
А вот с параметрами вы неправильно работаете вообще, советую почитать хелп для TQuery, там даже пример приведен, как с параметрами работать...
и вы сами должны понимать, что параметры для выборки передаются в where, а никак не в select
0
0 / 0 / 1
Регистрация: 11.03.2009
Сообщений: 44
23.03.2009, 12:40  [ТС] 5
а разве моя фильтрация не правельна?
mstable1.IndexFieldNames:='Дата';
mstable1.FindNearest([edit1.text]);
0
Супер-модератор
8737 / 2445 / 139
Регистрация: 07.03.2007
Сообщений: 11,677
23.03.2009, 12:52 6
tnts, так, давайте снова - вам нужна сортировка, или поиск, или фильтр... это совсем не одно и тоже
0
0 / 0 / 1
Регистрация: 11.03.2009
Сообщений: 44
23.03.2009, 13:00  [ТС] 7
я не знаю как правельно сказать)) есть edit, например в базе у меня есть Фамилии: Кудрин,Килин,Матвеер, при вводе в edit буквы К фамилии сортируются по букве К,т.е первыми отображаются фамилии на К,затем ввожу букву У,выводится Фамилии на Ку т.е Кудрин
0
Супер-модератор
8737 / 2445 / 139
Регистрация: 07.03.2007
Сообщений: 11,677
23.03.2009, 13:32 8
у вас должны после ввода остаться только на введенную букву фио или просто на них прыгнуть надо?
0
0 / 0 / 1
Регистрация: 11.03.2009
Сообщений: 44
23.03.2009, 13:35  [ТС] 9
если можно тот и тот вариант,я думаю что чтобы просто перепрыгнул
0
Супер-модератор
8737 / 2445 / 139
Регистрация: 07.03.2007
Сообщений: 11,677
23.03.2009, 14:07 10
tnts, чтобы фильтровать я уже писал, что надо делать, а чтобы просто скакало, то можно юзать и Locate, и просто по значениям в источнике пройтись до выполения условия
0
0 / 0 / 1
Регистрация: 11.03.2009
Сообщений: 44
23.03.2009, 14:17  [ТС] 11
а если не сложно можно ссылку на tquery , а то не нашел
0
Супер-модератор
8737 / 2445 / 139
Регистрация: 07.03.2007
Сообщений: 11,677
23.03.2009, 14:21 12
tnts, а ты где ищешь? в хелпе борланд дельфи посмотри, там все расписано, даже с примерами
0
0 / 0 / 1
Регистрация: 11.03.2009
Сообщений: 44
23.03.2009, 14:49  [ТС] 13
все все ступил))нашел спасибо) буду разбираться)

Добавлено через 16 минут 35 секунд
честно я там что то ни чего нужного не нашел
0
Супер-модератор
8737 / 2445 / 139
Регистрация: 07.03.2007
Сообщений: 11,677
23.03.2009, 15:14 14
tnts, Locate - это позиционирование по условию... Filter - это условие для фильтрации, есть еще и Lookup - для поиска
0
0 / 0 / 1
Регистрация: 11.03.2009
Сообщений: 44
23.03.2009, 17:52  [ТС] 15
у меня такой вопрос почему в msquery в params я не могу согздать параметр,почему то все заблочено?
0
Супер-модератор
8737 / 2445 / 139
Регистрация: 07.03.2007
Сообщений: 11,677
23.03.2009, 18:09 16
tnts, покажите запрос
0
0 / 0 / 1
Регистрация: 11.03.2009
Сообщений: 44
24.03.2009, 13:29  [ТС] 17
я честено даже не знаю как уже и правельно написать,что то пробовал пробовал и ни как,вот что есть щас
Delphi
1
2
3
4
5
6
7
8
procedure TForm3.Button2Click(Sender: TObject);
begin
msquery1.Close;
msquery1.SQL.Clear;
msquery1.SQL.Add('select Дата,Модель_картриджа,ФИО from Учет_картриджей');
msquery1.SQL.Add('where Модель_картриджа=''combobox1.text''');
msquery1.Open;
end;
0
Супер-модератор
8737 / 2445 / 139
Регистрация: 07.03.2007
Сообщений: 11,677
24.03.2009, 13:39 18
у тебя этот код компилируется? ладно, конкатенации у тебя не хватает, только это никакого отношения к параметрам не имеет, чтобы параметры стали доступны, надо писать что-то типа такого:
SQL
1
SELECT * FROM TABLE WHERE FIELD = :p
а потом уже работать с параметром по его имени, в частности p в данном примере
0
0 / 0 / 1
Регистрация: 11.03.2009
Сообщений: 44
24.03.2009, 14:17  [ТС] 19
я честено даже не знаю как уже и правельно написать,что то пробовал пробовал и ни как,вот что есть щас
Delphi
1
2
3
4
5
6
7
8
procedure TForm3.Button2Click(Sender: TObject);
begin
msquery1.Close;
msquery1.SQL.Clear;
msquery1.SQL.Add('select Дата,Модель_картриджа,ФИО from Учет_картриджей');
msquery1.SQL.Add('where Модель_картриджа=''combobox1.text''');
msquery1.Open;
end;
Добавлено через 17 минут 43 секунды
я честено даже не знаю как уже и правельно написать,что то пробовал пробовал и ни как,вот что есть щас
Delphi
1
2
3
4
5
6
7
8
procedure TForm3.Button2Click(Sender: TObject);
begin
msquery1.Close;
msquery1.SQL.Clear;
msquery1.SQL.Add('select Дата,Модель_картриджа,ФИО from Учет_картриджей');
msquery1.SQL.Add('where Модель_картриджа=''combobox1.text''');
msquery1.Open;
end;
Добавлено через 3 минуты 27 секунд
код компилируется,но естественно работает неправельно,
SELECT * FROM TABLE WHERE FIELD =
я не совсем понял т.е где :P я обозначаю какой то пораметр,а каким образом?
0
Супер-модератор
8737 / 2445 / 139
Регистрация: 07.03.2007
Сообщений: 11,677
24.03.2009, 14:18 20
слушай, неужели этот код запускается? я, конечно, в дельфи профан, но у тебя ошибка в синтаксисе ИМХО
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2009, 14:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Delphi + sql
Доброго времени суток форумчане! подскажите пожалуйста одну вещь. Существует таблица с a,b,c,d...u...

Delphi SQL
Здравствуйте! Возникла такая проблема! Значит,на форме ComboBox,Memo. Есть таблица в Оракле "KURS"...

Delphi SQL
Всем добрый вечер. Возник вопрос - как вывести последнее значение из поля таблицы и на 1 больше в...

Delphi и SQL
Доброго времени суток. Столкнулся с такой проблемой. Есть 2 таблицы: одна называется Заказ, вторая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.