Главная страница
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.025 c
2-1211034008
mahab
2008-05-17 18:20
2008.06.08
интефейс IADsMembers


15-1208954366
Knight
2008-04-23 16:39
2008.06.08
Если программы были домами, то они выглядели бы примерно так..


15-1209453265
Восхищенный
2008-04-29 11:14
2008.06.08
LOL


15-1209307105
Turing machine
2008-04-27 18:38
2008.06.08
Turing Machine


3-1199809422
Slimer
2008-01-08 19:23
2008.06.08
Zeos & MySQL 4.1+