Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.08;
Скачать: CL | DM;

Вниз

SQL запрос   Найти похожие ветки 

 
squirrel   (2007-12-27 16:54) [0]

Здравствуйте. Есть база, созданная на SQL Server"е. Она связана с программой на дельфи через компоненты ADO. В базе есть таблица Person. При нажатии на кнопку я пишу такой запрос к базе для компонента типа TADOCommand:

ADOCommand1.CommandText:="SELECT id FROM person WHERE FIO="+edit1.Text+" and technopark = (select max(id) from technopark where name = "+Combobox1.Text+") and post=""+Edit2.Text;

при выполнении этого запроса я хочу получить значения поля person.id для записи, у которой значение поля FIO совпадает со значением введенным в edit1, значение поля technopark совпадает со значением выбранным в combobox1, и значение поля postсовпадает со значением, введенным в edit2.

При выполнении этого запроса возникает ошибка, заключающаяся в том, что при введении ФИО и в названии технопарков имеются пробелы. Подскажите, пожалуйста как оптимизировать запрос. Я просто только начинаю разбираться в базах данных


 
clickmaker ©   (2007-12-27 16:59) [1]

ADOCommand1.CommandText:="SELECT id FROM person WHERE FIO=:FIO and technopark = (select max(id) from technopark where name = :PARKNAME) and post=:POST";
ADOCommand1.ParamByname("FIO").AsString := Edit1.Text;
ADOCommand1.ParamByname("PARKNAME").AsString := Combobox1.Text;
ADOCommand1.ParamByname("POST").AsString := Edit2.Text;

суть в том, что в SQL-запросах строки должны быть в кавычках, а даты еще и в соотв. формате, поэтому лучше использовать параметры


 
Виталий Панасенко(дом)   (2007-12-27 16:59) [2]

используй параметры и "все пройдет, и печаль.. .".. останется одна радость


 
squirrel   (2007-12-27 17:03) [3]

Спасибо)


 
Anatoly Podgoretsky ©   (2007-12-27 17:53) [4]

> squirrel  (27.12.2007 16:54:00)  [0]

Параметры, параметры и еще раз параметры.


 
VadimSpb   (2008-01-02 20:07) [5]


> clickmaker ©   (27.12.07 16:59) [1]

ADOCommand1.CommandText:="SELECT id FROM person WHERE FIO=:FIO and technopark = (select max(id) from technopark where name = :PARKNAME) and post=:POST";
ADOCommand1.ParamByname("FIO").AsString := Edit1.Text;
ADOCommand1.ParamByname("PARKNAME").AsString := Combobox1.Text;
ADOCommand1.ParamByname("POST").AsString := Edit2.Text;

ADOCommand начал возвращать значения с 01.01.2008?



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
15-1208787695
Palladin
2008-04-21 18:21
2008.06.08
HDD


2-1210945315
OLGA
2008-05-16 17:41
2008.06.08
Подскажите, пожалуйста неучу!!!!!!


15-1208754465
Riply
2008-04-21 09:07
2008.06.08
А надо ли кому это ?


15-1208936973
Kolan
2008-04-23 11:49
2008.06.08
Новости проекта DMClient.


2-1210677818
cyber-pilot
2008-05-13 15:23
2008.06.08
рекурсивный массив