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

Вниз

Update с параметром - не пашет :((   Найти похожие ветки 

 
koks   (2004-01-19 11:54) [0]

Уважаемые мастера, помогите пож-то решить проблемку - задолбался.

Выполняю запрс с параметрами (TQuery):

SQL:

UPDATE BASE
SET RCTID=:RCTID
WHERE NOMER=:NOMER

для параметров CTID и NOMER в дизайне установлены следующие свойства:

DataType := ftInteger
NumericScale := 0
ParamType:= ptInput
Precision := 0
Size := 0
Value := 0
Value.Type := integer

в программе:

Query.Close;
Query.ParamByName...AsInteger := ....
Query.ExecSQL - вылетает ошибка: DBEngineError: Type mismatch in expression...

подскажите как бороться.... Очччень много всего пробовал - один фиг.

База - DBase. (файлы - DBASE IV)
В настройках BDE - для DBASE по умолчанию LEVEL 4.....


 
Mike Kouzmine   (2004-01-19 12:04) [1]

Препаре?
А поля в таблице какого типа?


 
VAleksey   (2004-01-19 12:17) [2]

Поля в таблице не того типа.


 
koks   (2004-01-19 14:25) [3]

Prepare предварительно выполняется. без ошибок.

Поля:
RCTID: N 2, 0
NOMER: N 10, 0


 
Academic   (2004-01-19 17:04) [4]


> DataType := ftInteger

Попробуй ftFloat, для Numeric Fields


 
Desdechado   (2004-01-19 20:02) [5]

попробуй сконструировать запрос в коде динамически, не зашивая параметров в форму. Они создадутся, когда будешь делать
qry.SQL.Text := "UPDATE..."


 
Anatoly Podgoretsky   (2004-01-19 22:30) [6]

N10 и Integer :-)
Посчитай на пальцах и поймешь


 
koks   (2004-01-20 09:30) [7]

Я это все уже пробовал... Ну попрробовал еще раз - поставил DataType := ftInteger сначала только для поля NOMER, а затем и для RCTID. Результата тот-же.

Desdechado - да, если не разберусь, то вместо запросов с параметрами буду использовать динамическое формирование SQL-строки. (Там уж безо всяких параметров.) Только не хотелось бы... Вообще в данном случае "классикка" - это использовыать параметры...

Только вот ошибка не понятна...


 
Anatoly Podgoretsky   (2004-01-20 09:37) [8]

Еще раз 10 знаков это 9 999 999 999


 
Desdechado   (2004-01-20 11:11) [9]

а Integer ~ +-2млрд

хотя параметры можно и в динамическом рисовать:
"UPDATE tbl SET x=:P1 where y=:P2"


 
koks   (2004-01-20 11:59) [10]

Тьфу ты ексель-моксель - в предыдущем посте я ошибся. Ну конечно же я ставил DataType := ftFloat;

Извините за ошибочку. Ну так вот - с ftFloat та же ошибка.


 
Anatoly Podgoretsky   (2004-01-20 12:06) [11]

Сделай такой запрос и посмотри в ИДЕ типы полей

UPDATE BASE
SET RCTID=1
WHERE NOMER=1

Возможно окажется не ftFloat


 
koks   (2004-01-20 16:20) [12]

а как я посмотрю типы полей в IDE. Это ведь не SELECT- запрос. Объекты полей не создаются вообще - пишет Error creating cursor handle.


 
ЮЮ   (2004-01-21 09:36) [13]

> koks (20.01.04 16:20) [12] ...а как я посмотрю типы полей в IDE

1) открой запрос SELECT RCTID, NOMER FROM BASE и узнаешь какие типы полей

2) не используй
Query.ParamByName... AsInteger :=, т.к. это может привести к смене на ftInteger


 
Anatoly Podgoretsky   (2004-01-21 09:39) [14]

koks (20.01.04 16:20) [12]
Если не нравится UPDATE, то напиши запрос с SELECT


 
koks   (2004-01-21 13:00) [15]

ЮЮ

а как учше.... AsVariant или как.


 
ЮЮ   (2004-01-22 06:10) [16]

.Value :=



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-38884
MadGhost
2004-02-04 18:34
2004.02.13
как продолжить поиск в тексте функцией AnsiPos


14-39039
Романов Р.В.
2004-01-13 09:32
2004.02.13
Товарищи, используйте евроразетки для подключения ПК!


3-38710
Бывающий
2004-01-22 12:39
2004.02.13
Как грамотно представить годовой репорт?


6-38982
Ig
2003-12-10 21:40
2004.02.13
Про Интернет : найти/подключить/отключить


14-39046
_none_
2004-01-27 12:04
2004.02.13
Беспроигрышная лотерея! автомобиль в каждом билете!





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