Главная страница
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.48 MB
Время: 0.018 c
3-1199532014
DeadMeat
2008-01-05 14:20
2008.06.08
Постоянные обрывы связи.


15-1209027549
БарЛог
2008-04-24 12:59
2008.06.08
Компьютер+Внешний IP+ Radmin_с_паролем


9-1170551643
TGLCube
2007-02-04 04:14
2008.06.08
Как повернуть матрицу вокруг заданного вектора на определённый


2-1210816175
kupidon
2008-05-15 05:49
2008.06.08
Dbgid- проблема с шириной столбцов


2-1210834088
big
2008-05-15 10:48
2008.06.08
Как в StringGrid e удалить выделенную строку?