Текущий архив: 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.48 MB
Время: 0.006 c