Главная страница
    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.031 c
14-1086360663
А вот и не представлюсь :-)
2004-06-04 18:51
2004.06.20
Шведу умеют делать машины, но их БД - это п....есня какая то.


1-1086757998
artem_123
2004-06-09 09:13
2004.06.20
Как создать submenu в mainmenu программным путем


1-1086627168
Chlavik
2004-06-07 20:52
2004.06.20
Таймер не хочет работать...


14-1086314387
Kair
2004-06-04 05:59
2004.06.20


1-1086340572
Uran
2004-06-04 13:16
2004.06.20
Отображение документа msword





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский