|
Параметры в запросе.....
|
|||
---|---|---|---|
#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:28 |
|
Параметры в запросе.....
|
|||
---|---|---|---|
#18+
Во-первых, естественно, что c3 должен иметь тип строковый. Из твоего описания непонятно какого типа. Во-вторых, я не знаю как в делфи, но в java например, для каждого типа есть свой метод, я думаю что и делфи должно быть по такому принипу: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Если бы я хотел передать параметр числового типа тогда так: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2002, 10:58 |
|
Параметры в запросе.....
|
|||
---|---|---|---|
#18+
>потому что при использовании вышеуказанного кода данные вставляются не в виде символов , а в виде цифр. Это ты как определил? В поле varchar2 записались (без ошибки ?!!!) данные и ты считаешь что это число? Почему? В Делфи (за АДО не скажу, а в DOA точно) необходимо определять ТИП параметра. >Где вставить одиночные кавычки при использовании параметров? Никаких кавычек не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2002, 10:59 |
|
Параметры в запросе.....
|
|||
---|---|---|---|
#18+
По моему здесь свои грабли вставляет ADO, параметры через него передаются как Variant и преобразовывает он переменную записываемую в параметр по своему разумению :( Если бы обращение к БД шло через БДЕ или ОДАК, то можно было бы написать: DataSet.FindParam('c3').AsString:='1234'; ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2002, 15:29 |
|
|
start [/forum/topic.php?fid=52&fpage=2831&tid=1992677]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 251ms |
total: | 371ms |
0 / 0 |