Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Вниз

Вставка записи в таблицу базы   Найти похожие ветки 

 
r9000   (2004-05-25 12:11) [0]

Добрый день!

Вы не могли бы помочь, пожалуйста. Строковая переменная получает
значение r10=#0#0#0#0#0 и при попытке вставить это значение в таблицу базы:
   s3:="insert into Ats_snmp(P_entindex)";
   s3:=s3+"VALUES ("""+r10+""") ";
выдает ошибку так как получаетс r10=""#0#0#0#0#0"" и запрос его невоспринимает. Каким образом вставить это значение в таблицу?
Может его нужно как-то преобразовать?


 
ega23 ©   (2004-05-25 13:15) [1]

В смысле, с кавычками общитался?


 
paul_k ©   (2004-05-25 13:28) [2]

Перечень стандартных вопросов при отладке подобного кода:
S3 какое значение принимает?
Из Ouery Analiser какой результат  выполнения этой строки?
Если написать
 s3:=s3+" VALUES ("+QuotedStr(r10)+") ";
что изменится?
Внутри R10 есть апострофы?

Следующим постом предложат использовать запрос с параметром


 
r9000   (2004-05-25 13:30) [3]

Да нет просто в переменную помещается  r10=#0#0#0#0#0(это значение приходит с оборудования) мне его нужно поместить в таблицу базы, и если делать s3:="insert into Ats_snmp(P_entindex)";
  s3:=s3+"VALUES ("""+r10+""") ";
то выдается ошибка. Посмотрев s3 вижу insert into Ats_snmp(P_entindex)VALUES (""#0#0#0#0#0""), а не "#0#0#0#0#0" для нормальной отработке запроса. Что делать?


 
bushmen ©   (2004-05-25 13:35) [4]

>то выдается ошибка

Что за ошибка? И что в Query Analyzer выдает на insert into Ats_snmp(P_entindex) VALUES ("#0#0#0#0#0") ?


 
ega23 ©   (2004-05-25 13:36) [5]

По апострофу одному убрать


 
paul_k ©   (2004-05-25 13:48) [6]

1. проверить все-таки что приходит в R10.
если там значение #0#0#0#0 то  s3:=s3+" VALUES ("+QuotedStr(r10)+") ";
если там ""#0#0#0#0""  то  s3:=s3+" VALUES ("+r10+") ";


 
r9000   (2004-05-25 13:52) [7]

Ошибка в Query Analyzer выдается на insert into Ats_snmp(P_entindex) VALUES (""#0#0#0#0#0""), а не на insert into Ats_snmp(P_entindex) VALUES ("#0#0#0#0#0"), а получить VALUES ("#0#0#0#0#0") мне пока не удается. В r10=#0#0#0#0#0 значение без кавычек.


 
paul_k ©   (2004-05-25 14:00) [8]

А проверить?
Pos(#39,R10) чему равно?

s3:=s3+" VALUES ("+QuotedStr(r10)+") ";
пробовал писать? вместо множественных апострофов?


 
r9000   (2004-05-25 14:39) [9]

Даже s3:=s3+" VALUES ("+QuotedStr(r10)+") " видится в Query Analyzer как VALUES (""#0#0#0#0#0""), а позиция Pos(#39,R10)  равна Inaccassible value


 
ega23 ©   (2004-05-25 14:56) [10]

Попробуй так:  s3:=s3+" VALUES ("+Chr(39)+r10+Chr(39)+") ";
А вообще: r10 у тебя строка или что?


 
Sandman25+1   (2004-05-25 14:58) [11]

Следующий пост.
Может, пора уже начать использовать параметр? Тем более, что используется MSSQL


 
paul_k ©   (2004-05-25 16:12) [12]


> r9000   (25.05.04 14:39) [9]
> Даже s3:=s3+" VALUES ("+QuotedStr(r10)+") " видится в Query
> Analyzer как VALUES (""#0#0#0#0#0""), а позиция Pos(#39,R10)
>  равна Inaccassible value

разжевывать надо?

1.
if Pos(#39,R10)>0 //(проверка есть ли апострофы)
then s3:=s3+" VALUES ("+r10+") "
else s3:=s3+" VALUES ("+QuotedStr(r10)+") ";

2.
//Удаляем все апострофы
while pos(#39,r10)>0 do
  delete(R10,pos(#39,r10),1)
s3:=s3+" VALUES ("+QuotedStr(r10)+") ";

3. пишем запрос с параметром
 InsQuery.sql.text:="insert into Ats_snmp(P_entindex) VALUES (:InputValue)";
и читаем как работать с параметрами



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.029 c
1-1086323589
korvin
2004-06-04 08:33
2004.06.20
Дополнить QReport


6-1082964172
MDeamon
2004-04-26 11:22
2004.06.20
Снятие ститистики с Cisco


1-1086637381
som
2004-06-07 23:43
2004.06.20
Альбомная страница по умолчанию при печати


6-1083148113
snake1977
2004-04-28 14:28
2004.06.20
Прослушивание портов


1-1086536511
Mishenka
2004-06-06 19:41
2004.06.20
Trim





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский