Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.034 c
1-1174037474
Mapogep
2007-03-16 12:31
2007.05.13
Отображение карты


2-1177287360
Hero
2007-04-23 04:16
2007.05.13
Хелп!! Как из одной моей проги перетащить текст в другу мою прог


15-1176215379
ProgRAMmer Dimonych
2007-04-10 18:29
2007.05.13
Что с математикой???


8-1149843230
Kirill.info
2006-06-09 12:53
2007.05.13
Mp3 Stream


2-1177493803
allucard
2007-04-25 13:36
2007.05.13
Как отсортировать список TListView?




   Наверх