Главная страница
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
2-1210878036
Zoom
2008-05-15 23:00
2008.06.08
Transparent Bitmap и Cаnvas?


15-1209039762
ekto
2008-04-24 16:22
2008.06.08
как скрыть логин/пароль БД?


2-1210970505
Woohoo
2008-05-17 00:41
2008.06.08
Автоматическое обновление поля таблицы


15-1209195745
SysError
2008-04-26 11:42
2008.06.08
Дерево кода Делфи


15-1208945641
Armond
2008-04-23 14:14
2008.06.08
Компоненты