C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Проблема с INSERT-ом, Проблема с INSERT-ом
vinni
Отправлено: 24.07.2006, 11:42


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Здравствуйте, у меня такая проблема.
Для добавления новой записи строка должна иметь такой формат для SQL

"(ковычка)........(то, что добавляем)"(ковычка)
я кидаю весь запрос в переменную temp, и в частности пишу следующее:

temp = temp + '"'(ковычка) + Query1->Fields->Fields[7]->AsString + "'(ковычка);

проблема в том, что у меня Query1->Fields->Fields[7]->AsString — содержит текст:

Трубы диаметром 3/8" — 3/4"

т.е. выот эти ковычки, указывающие на диметр трубы — меняют мне весь запрос, из-за чего у меня появляется ошибка.

Кто сталкивался с этим — подскажите что мне делать.
Gedeon
Отправлено: 24.07.2006, 11:57


Ветеран

Группа: Модератор
Сообщений: 1742



Сервер?
Valdemar
Отправлено: 24.07.2006, 11:58


Мастер участка

Группа: Участник
Сообщений: 433



Там где в строке нужны кавычки нужно писать \".
vinni
Отправлено: 24.07.2006, 12:42


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Gedeon-> Нет не сервер
Valdemar-> Пробывал — не получается
vinni
Отправлено: 24.07.2006, 12:47


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Valdemar-> Всё равно получается, что он видит следующим образом:

Строка: "Трубы диаметром 3/8\" — 3/4\""

получается

"Трубы диаметром 3/8\"  — 3/4 \""

т.е. разбивает на 2-е строки (первая и последняя, последняя — пустая), а также ещё что-то неизвестное для него (- 3/4 )
Guest
Отправлено: 24.07.2006, 13:07


Не зарегистрирован







использовать параметризованный запрос и значение поля передавать параметром
vinni
Отправлено: 24.07.2006, 13:13


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Guest-> сможешь изобразить, как это выглядит?
Просто пока мне не понятно каким образом это сделать
Gedeon
Отправлено: 24.07.2006, 13:31


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (vinni @ 24/07/2006, 12:42)
Gedeon-> Нет не сервер

Блин! База данных какая?
vinni
Отправлено: 24.07.2006, 13:35


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Gedeon->BDE
Guest
Отправлено: 24.07.2006, 13:45


Не зарегистрирован







BDE — это чем связываетесь, Gedeon спрашивал какой сервер.
QUOTE

сможешь изобразить, как это выглядит?

Легко.
Query2->SQL->Text = "Select * From tbl2 Where fld1 = :prm1";
Query2->ParamByName(""prm1")-AsText = "труба 3.4\"";
vinni
Отправлено: 24.07.2006, 13:51


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Guest, Gedeon-> Извините? я новичок в области Баз Даных — поэтому не знаю по поводу серверов. Напишите словами попроще — я отвечу.

Guest->надо будет подумать на счёт

Query2->SQL->Text = "Select * From tbl2 Where fld1 = :prm1";
Query2->ParamByName(""prm1")-AsText = "труба 3.4\"";

Отредактировано vinni — 24/07/2006, 13:51
vinni
Отправлено: 24.07.2006, 14:24


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Кто сможет объяснить-поговорить со мной on-line — мой номер аськи 224844514
olegenty
Отправлено: 25.07.2006, 10:02


Ветеран

Группа: Модератор
Сообщений: 2412



книга поможет больше. статьи — также.
Shagg
Отправлено: 26.07.2006, 06:24


Дежурный стрелочник

Группа: Участник
Сообщений: 69



У меня такая же трабла в MSSQL'е с символом '
я просто заменяю его на символ с кодом 16 (такого на клаве точно нет smile.gif ) а когда достаю заменяю наоборот... и все
vinni
Отправлено: 26.07.2006, 13:31


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Shagg->Спасибо за предложение, мне тоже уже пришлось воспользоваться заменой символов.
Я ковычки заменил на ` и перед тем как вставить данные из одной в другую таблицу — я просто заменяю ковычки на 2-е `

Вернуться в Работа с базами данных в C++Builder