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

Вниз

Запись boolean в MS Access   Найти похожие ветки 

 
ALS ©   (2007-02-20 16:22) [0]

Есть база с несколькими таблицами, одна из них имеет автоинкрементный индекс, несколько строковых полей и логическое поле. Все поля кроме индекса могут быть BLANK. Необходимо добавлять к таблице записи.
Создал TADOQuery со следующим SQL:

INSERT INTO MainResult (
Operator, ChipName, NSet, Wafer, PassCard, ChipNumber, ChipResult)
VALUES (:POp, :PCNm, :PSt, :PWf, :PCrd, :PNum, :PRes)

Параметр PRes описал как ftBoolean. Пытаюсь выполнить запрос:

function TForm1.MainResult(const Op, CName, St, Waf, PC: string; Chip: integer; Res: boolean): boolean;
begin
 with ADOQuery do
 try
   Parameters.Items[0].Value := Op;
   Parameters.Items[1].Value := CName;
   Parameters.Items[2].Value := St;
   Parameters.Items[3].Value := Waf;
   Parameters.Items[4].Value := PC;
   Parameters.Items[5].Value := Chip;
   Parameters.Items[6].Value := Res;
   Result := ExecSQL > 0
 except
   Result := False
 end;
end;

В результате имею EOleException "Data type mismatch in criteria expression". Вопрос: как правильно заносить данные в поле логического типа таблицы MS Access, используя TADOQuery


 
Gin2   (2007-02-20 17:32) [1]

почему ты решил что проблема именно там?


 
ALS ©   (2007-02-20 19:37) [2]

Если я убираю из TADOQuery упоминания о последнем (boolean) параметре, все остальные поля прописываются нормально. При наличии этого параметра Query обламывается на ExecSQL.
А в чем еще может быть проблема?


 
Johnmen ©   (2007-02-20 21:12) [3]

Попробуй Parameters.Items[6].Value := Ord(Res);


 
ALS ©   (2007-02-20 23:10) [4]

> Parameters.Items[6].Value := Ord(Res);

Попрововал для ftBoolean, получил тоже самое ("Несоответствие типов данных в выражении условия отбора" - русская винда) .
Для ftBytes, Size=1 получил "Приложение использует для текущей операции значение неверного типа".
Помогло ftVariant, Size=1.

Спасибо


 
MsGuns ©   (2007-02-20 23:47) [5]

В акцесе нет типа boolean


 
sniknik ©   (2007-02-21 00:24) [6]

> В акцесе нет типа boolean
есть


 
fd979 ©   (2007-02-21 14:39) [7]

Вместо True и False ставь 1 и 0 соответственно.


 
sniknik ©   (2007-02-21 14:45) [8]

fd979 ©   (21.02.07 14:39) [7]
а что ты думаешь выдаст Ord(Res) из совета в [3]? соответственно.


 
fd979 ©   (2007-02-21 14:48) [9]

Не обратил внимание на все комменты, соответственно.



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

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

Наверх




Память: 0.46 MB
Время: 0.035 c
15-1176296632
StriderMan
2007-04-11 17:03
2007.05.13
сложение путей файла


2-1177505802
cyber.mind
2007-04-25 16:56
2007.05.13
ТОЛЬКО ДЛЯ МАСТЕРОВ!


15-1176497172
Petr V.Abramov
2007-04-14 00:46
2007.05.13
Не обос<по большому>ся бы... :)


2-1177246379
junior_177
2007-04-22 16:52
2007.05.13
Формула Магического квадрата


2-1177431055
Oleg_teacher
2007-04-24 20:10
2007.05.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
Английский Французский Немецкий Итальянский Португальский Русский Испанский