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

Вниз

ЛЮДИ, помогите. Такая ошибка... я ничего не понимаю   Найти похожие ветки 

 
Malder ©   (2002-03-08 14:37) [0]

Постараюсь рассказать все подробно.
Есть таблица Table. Метаданные:

CREATE TABLE Table
(
MANAGER CHAR(10) CHARACTER SET WIN1251 NOT NULL,
TELEFON CHAR(16) CHARACTER SET WIN1251 NOT NULL,
FAX CHAR(16) CHARACTER SET WIN1251,
NAZVANIE CHAR(30) CHARACTER SET WIN1251,
DATEPEREZVON TIMESTAMP,
PRIMECH BLOB SUB_TYPE 0 SEGMENT SIZE 80
);


Для этой таблицы можно сделать такую SQL комманду:
UPDATE Table SET Fax="222" WHERE Telefon="111"
Соответственно, у записей у которых Telefon="111" проставиться Fax="222". Это ясно.

Существует View этой таблицы:
CREATE VIEW MANAGER (
MANAGER,
TELEFON,
FAX,
NAZVANIE,
DATEPEREZVON,
PRIMECH
) AS

Select Manager, telefon, fax, Nazvanie, Dateperezvon, Primech from Table
Where Manager = User


Если же для этой таблицы сделать:
UPDATE Manager SET Fax="222" WHERE Telefon="111"
то ошибка !

Feature is not supported
BLOB and array data types are not supported for compare operation
Statement: UPDATE Manager_view SET Fax="67" WHERE Telefon="111"


Чего там не поддерживается ? НЕ понимаю. Причем, если записи с Telefon="111" нету. то ошибки нету...
блин. Если кто-нибудь что-нибудь понял - поможите


 
Delirium ©   (2002-03-08 14:53) [1]

Попробуй исключить из view поле Primech


 
Johnmen ©   (2002-03-09 02:51) [2]

Вообще говоря, это весьма странно...

Для начала обшие советы:
1. Не употребляй для имен своих объектов (таблицы, поля, триггеры и т.д.) слова, совпадающие с используемыми в синтаксисе БД !
[..CREATE TABLE Table... не делай так !!!!!!!!]
2. Кодовую страницу для символьных полей задай при создании БД !
[...CHARACTER SET WIN1251...не делай так для каждого поля !]

P.S. Лично я никогда не задавал CHARACTER SET при создании БД,
(т.е.использовал Default) и все нормально !



 
Malder ©   (2002-03-09 13:53) [3]

Delirium, да, когда я убрал из обзора Primech все заработало. Но я не могу обойтись без этого поля. А также не могу обойтись без обзора, так как только таким способом могу обеспечить должную секретность. Как же менять тогда Primech ?

Johnmen, таблица на самом деле называется не Table, а Clients - так что здесь все ОК.
А кодовую страницу я как раз задавал при создании БД. Просто в метаданных интербэйс приписывает к каждому полю CHARACTER SET.
Только дело то не в этом...


 
Malder ©   (2002-03-09 21:51) [4]

Блин. Почему в View нельзя Blob использовать ?


 
drpass ©   (2002-03-10 01:13) [5]

Видимо, это особенность внутренней реализации Interbase - при проверке новой записи в обновляемом наборе на соответствие условиям она пытается проверить также и blob-поля - и получает облом.
Я не знаток тонкостей ее работы, но у тебя что хранится в примечании? Может, заменить его на текстовое поле, что-то вроде varchar(255)?


 
Ray Adams   (2002-03-10 01:57) [6]

А зачем тебе блоб??? VARCHAR до 40 килобайт кажись поддерживается в IB 6.0 Так что без блобиков можно работать. А character set никогда не используй. Проблем не оберешся



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
14-283
valler
2002-02-17 00:22
2002.04.01
У кого есть файл Proxies.pas?


1-88
DimaIv
2002-03-20 09:04
2002.04.01
Есть GroupBox с надписью внутри него находится ProgressBar


1-205
Марина
2002-03-20 09:23
2002.04.01
StringGrid


1-246
SlavaLamer
2002-03-19 14:48
2002.04.01
Webbrouser


6-276
Sandro
2002-01-12 00:24
2002.04.01
Как через сокеты передать звук в реальном времини