Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как через SQL-запрос передать в БД символы


AlexE ©   (2002-08-08 15:23:00) 

Здравствуйте! Помогите, пожалуйста, решить такую проблему.
В таблицу БД MS Access нужно вставить записи, которые содержат двойные кавычки ( " ... " ) и запятую в качестве разделителя целой и дробной частей. При попытке передать такие записи оператором INSERT INTO... выдаются сообщения об ошибках: для кавычек - об отсутствии оператора между кавычками, т.к. в синтаксе оператора они действительно лишние, а запятая воспринимается как разделитель между параметрами в операторе, т.е. появляется лишний параметр, о чем незамедлительно докладается.
Например (если бестолково объяснил), как можно передать запись, содержащую данные:
фирма "Inprise"
5,25
Можно ли как-нибудь эту проблему решить, не изменяя форму вводимых данных? Заранее спасибо!


Val   (2002-08-08 16:37:00) [1]

см. ParamByName().
Если все же решите соединять строки, то нужно использовать доп. кавычки, например так:
SQL.Text := "insert into t (a,b) values ("+#39+"фирма "Inprise"
"+#39+","+#39+"5,25"+#39+") ";
но параметры предпочтительней.


AlexE   (2002-08-08 16:35:00) [2]

To SaS13
Ага, понял, большое спасибо!


SaS13   (2002-08-08 16:32:00) [3]

Query1.Sql.Clear;
Query1.Sql.Add( "INSERT INTO table (fld1, fld2) VALUES (:prm1, :prm2)" );
Query1.ParamByName("prm1").AsString := "фирма "Inprise"";
Query1.ParamByName("prm2").AsString := "5,25";
Query1.ExecSQL;


AlexE   (2002-08-08 16:25:00) [4]

To SaS13
А можно чуть поподробнее?


SaS13   (2002-08-08 15:29:00) [5]

использовать параметры


Наверх

Титульная страница Поиск, карта сайта Написать письмо