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

 
TADOQuery, параметры и тип данных
Aptem
  Отправлено: 11.11.2004, 15:42


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

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



Привет, всем !

У меня такая проблема:

Есть таблица в базе, есть поле типа text и там есть какие-то значения. Есть соединение по ADO, использую следующий запрос:
CODE
DELETE FROM goods WHERE barcode = :BARCODE;

... по идеи все нормально, только ничего не происходит

Попробывал сделать все руками:
CODE
DELETE FROM goods WHERE barcode = 123;

... но тоже ничего не происходит, оказывается нужно было так:
CODE
DELETE FROM goods WHERE barcode = '123';

... так как тип text!

А как это реализовать в ADO, ':BARCODE' и :'BARCODE' не подходит.

Спасибо за внимание.
Gedeon
Отправлено: 11.11.2004, 16:38


Ветеран

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



Когда в запросы Вы ставите : перед словом — это означает, что Вы используете параметр с названием этого слова перед :

Перед вызовом
CODE

ADO->ExecSQL(); // || ADOCommand->Execute();


необходимо присвоить значение этому параметру
CODE

ADO->Parameters->ParamByName("BARCODE")->Value = '123';


А потом вызывать выполнение запроса.
И еще если это случайное совпадение ладно, а так не надо хранить числа в типе текст, где-то в форуме обсуждалось.
Aptem
Отправлено: 11.11.2004, 19:02


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

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



Насчет присвоения значений парметрам я знаю !!!

Вопрос в том, как быть если значение имеет тип строка ???
Valdemar
Отправлено: 12.11.2004, 08:38


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

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



QUOTE
Вопрос в том, как быть если значение имеет тип строка ???

Для параметров можно указать тип значений.
Aptem
Отправлено: 12.11.2004, 13:37


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

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



Наконец-то разобрался !!! Ошибка как обычно была в ДНК. Забыл ExecSQL () вызвать, поэтому и не работало ничего !!! smile.gif

На самом деле для параметров нет разницы какого типа данные в таблице !

Спасибо за ответы.

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