Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

Проблема с Insert   Найти похожие ветки 

 
Georg   (2003-03-21 10:22) [0]

Доброго времени суток! Помогите пжлста разобраться:
добавляю в таблицу запись, одно из строковых полей содержит знак вопроса. После ExecSQL просто зависает - сообщений об ошибке нет. Что делать со знаком вопроса, может его "обрамлять" как-то надо?


 
Johnmen ©   (2003-03-21 10:32) [1]

Код ?


 
Georg   (2003-03-21 11:09) [2]

INSERT INTO MARRYDISPO, PRODTITEL
(DKZ, ZEA, ZEE, RES, PRT, PRN, USER_ID, DATE, TIME)
VALUES (809447,1388580,1388670,2140,"Test ?","499870","jurij","21.03.03","08:55 ")


 
Соловьев ©   (2003-03-21 11:12) [3]

INSERT INTO <table name>
VALUES ( <value>, <value> . . .);
Как видим только одна таблица, а не 2-е....Хотя может BAPAS имеет расширения, тогда может надо указать явно владельца полей.


 
Georg   (2003-03-21 11:16) [4]

Проблема в том, что без знака вопроса работает без проблем. Пишу в таблицу Prodtitel, по синтаксису надо еще и имя базы MARRAYDISPO указывать.


 
Johnmen ©   (2003-03-21 11:22) [5]

Откуда и как выполняется запрос ?


 
Соловьев ©   (2003-03-21 11:26) [6]

VALUES заполняется программно? через параметры?


 
Georg   (2003-03-21 11:27) [7]

Выполняю с TQuery:

Query1.SQL.Clear;
sql := "INSERT INTO " + ActDB + ", PRODTITEL " +
" (DKZ, ZEA, ZEE, RES, PRT, PRN, USER_ID, DATE, TIME)" +
" VALUES (" +
IntToStr(DKZ) + "," +
ZEA + "," +
ZEE + "," +
RES + "," +
c + Titel + c + "," +
c + ProdNr + c + "," +
c + USER_ID + c + "," +
c + Date + c + "," +
c + Time + c + ")";
Query1.SQL.Add(sql);
try
Query1.ExecSQL;
except
FehlerNachDatei("{01AB1252-7591-11D6-AC79-000000000000}", sql);
end;


 
Johnmen ©   (2003-03-21 12:00) [8]

На первый взгляд все нормально.
Смущает лишь ... INTO MARRYDISPO, PRODTITEL ...
Да, а какой тип у поля PRT ?


 
Georg   (2003-03-21 12:04) [9]

CHAR(40)


 
Johnmen ©   (2003-03-21 12:12) [10]

Смею предположить, что дело не в символе "?", а в чем-то другом...


 
Соловьев ©   (2003-03-21 12:14) [11]


> Georg (21.03.03 11:09)
> INSERT INTO MARRYDISPO, PRODTITEL
> (DKZ, ZEA, ZEE, RES, PRT, PRN, USER_ID, DATE, TIME)
> VALUES (809447,1388580,1388670,2140,"Test ?","499870","jurij","21.03.03","08:55
> ")

то ты посмотрел состояние SQL перед ExecSQL?


 
Georg   (2003-03-21 12:19) [12]

Так вот если убрать этот единственный символ - то никаких проблем. С чего все и началось, что юзерша задала в названии только знак вопроса и все зависло нафиг. Хоть бы ошибка какая-нибудь, а то ж ничего. Самое главное, уже пару месяцев тестировали и никто ни разу "?" не применял...


 
Соловьев ©   (2003-03-21 12:21) [13]

что такое с в коде?


 
Georg   (2003-03-21 12:23) [14]

Непосредственно перед этим запросом выполняются еще два INSERT"a


 
Соловьев ©   (2003-03-21 12:25) [15]

а если только "?" ввести без ничего...


 
Georg   (2003-03-21 12:29) [16]

c const c: Char = #39;

Пробовал уже и просто ?, и в двойных кавычках его, и с текстом и без...


 
Соловьев ©   (2003-03-21 12:31) [17]

bapas - это что?


 
Georg   (2003-03-21 12:35) [18]

Это довольно древняя вещь, бежит под Unix. Разработка фирмы Werum.


 
Соловьев ©   (2003-03-21 12:41) [19]

а как это ты с ней работаешь? через BDE?


 
Georg   (2003-03-21 12:43) [20]

да


 
Соловьев ©   (2003-03-21 12:44) [21]

проверь сначала в SQL Exploere свой запрос, там оттестируй может чего накопаешь...


 
Johnmen ©   (2003-03-21 12:48) [22]

Попробуй поиграть с параметром SQLQRYMODE в настройках алиаса в BDE.



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

Текущий архив: 2003.04.10;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.02 c
14-30546
Oleg_Gashev
2003-03-23 23:08
2003.04.10
Frequently Unanswered Questions


14-30529
Barada
2003-03-24 11:52
2003.04.10
ПРОГРАММАТОР для Panasonic KXTA616


4-30652
Дмитрий_М
2003-02-10 16:23
2003.04.10
WaitForMultipleObjects


1-30445
alex_bredin
2003-03-31 09:58
2003.04.10
Перенос проекта c Win2000 под WinXP


14-30587
Arkady
2003-03-24 08:31
2003.04.10
Дублирование писем. Спам?