Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.46 MB
Время: 0.051 c
15-1209115765
@!!ex
2008-04-25 13:29
2008.06.08
Как работать с libpng???


2-1211117020
assassin8899
2008-05-18 17:23
2008.06.08
AdoQuery


3-1198763654
squirrel
2007-12-27 16:54
2008.06.08
SQL запрос


15-1209021341
inew
2008-04-24 11:15
2008.06.08
Язык ввода по умолчанию


15-1209158924
Petr V. Abramov
2008-04-26 01:28
2008.06.08
афигистика





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский