Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
18.11.2002, 10:28
|
|||
---|---|---|---|
|
|||
Параметры в запросе..... |
|||
#18+
Уважаемые коллеги есть вопрос о правильности написания кода в Delphi. Есть текстовый файл, из него выбирается кусок и кладется в базу. Фрагмент кода: c3:=Copy(stlist ,5,15); ADOCommand1.CommandText:= 'INSERT INTO table(Col1)VALUES (:c3)'; Поле col1 в базе ORACLE имеет тип varchar2 Заносимые данные имеют вид 1234 или 5463, в общем набор цифр. По всем правилам SQL данный запрос должен выглядеть так: 'INSERT INTO table(Col1)VALUES ('данные')', А как в Delphi написать это с использованием параметров , потому что при использовании вышеуказанного кода данные вставляются не в виде символов , а в виде цифр. Где вставить одиночные кавычки при использовании параметров? Зараннее спасибо ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.11.2002, 10:58
|
|||
---|---|---|---|
Параметры в запросе..... |
|||
#18+
Во-первых, естественно, что c3 должен иметь тип строковый. Из твоего описания непонятно какого типа. Во-вторых, я не знаю как в делфи, но в java например, для каждого типа есть свой метод, я думаю что и делфи должно быть по такому принипу: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Если бы я хотел передать параметр числового типа тогда так: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.11.2002, 10:59
|
|||
---|---|---|---|
Параметры в запросе..... |
|||
#18+
>потому что при использовании вышеуказанного кода данные вставляются не в виде символов , а в виде цифр. Это ты как определил? В поле varchar2 записались (без ошибки ?!!!) данные и ты считаешь что это число? Почему? В Делфи (за АДО не скажу, а в DOA точно) необходимо определять ТИП параметра. >Где вставить одиночные кавычки при использовании параметров? Никаких кавычек не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.11.2002, 15:29
|
|||
---|---|---|---|
|
|||
Параметры в запросе..... |
|||
#18+
По моему здесь свои грабли вставляет ADO, параметры через него передаются как Variant и преобразовывает он переменную записываемую в параметр по своему разумению :( Если бы обращение к БД шло через БДЕ или ОДАК, то можно было бы написать: DataSet.FindParam('c3').AsString:='1234'; ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=52&tablet=1&tid=1992677]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 377ms |
0 / 0 |