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

Вниз

Числа с запятой в Insert и Update   Найти похожие ветки 

 
Jony   (2002-01-22 09:36) [0]

Неожиданно столкнулся с проблемой: не могу через запрос типа Insert или Update обновить таблицу в БД, если в качестве обновляемых значений есть число с запятой. Причем, неважно, или это через TQuery (динамический) c непосредственной подстановкой переменных, или через TUpdateSQL - через параметры (в том числе и с двойными кавычками) - перечисление значений идет через запятые и запятая в числе воспринимается как запятая между значениями. Естественно, возникает ошибка ("Type mismatch in expression"). Облазил литературу, форумы, FAQи - бесполезно. Как быть?


 
Фэ   (2002-01-22 10:09) [1]

Заменить в локализации Win разделитель целой с "," на ".";
Если не хочется - то делай пробелы
"ID , PARENT ," и т.д.



 
Jony   (2002-01-22 10:18) [2]

Разделитель менял в процессе поисков - безрезультатно. А пробелы не помогают, да и как они могут помочь?


 
Фэ   (2002-01-22 11:02) [3]

Дело в том, что после подстановки значений возникает текст
3, 5, "Hello"
и парсером SQL могут такие ситуации неверно обрабатываться.
У меня с не с Paradox была похожая ситуация.

sS.Add("UPDATE "+QuotedStr(tbName));
sS.Add("SET ");
for i:=0 to sF.Count-1 do begin // разбор параметров
if (i = sF.Count-1) then se := sNULL
else se := " , ";
sS.Add(sF[i]+"="+sV[i]+se);
end;


 
Desdechado   (2002-01-22 11:04) [4]

попробуй через параметры
qry.SQL.Text := "INSERT INTO ttt (floatfield, str) VALUES ( :P0, :P1 )";
qry.Params[0].AsFloat := ...
qry.Params[1].AsString := ...
qry.ExecSQL;



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

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

Наверх




Память: 0.45 MB
Время: 0.004 c
3-42669
Vopros
2002-01-21 13:10
2002.02.14
Как создать таблицу Paradox?


3-42685
NOV
2002-01-21 12:38
2002.02.14
alias


1-42756
DmitryB
2002-01-31 00:20
2002.02.14
Как заполнилть таблицу?


3-42699
Ольга
2002-01-22 14:19
2002.02.14
У меня есть такая процедура


14-42830
DieMan
2001-12-23 20:50
2002.02.14
Russian Help





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