Форум: "Базы";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c