![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как через 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]использовать параметры