Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];
ВнизРедактирование записей БД Найти похожие ветки
← →
sergeyst © (2007-02-19 13:26) [0]Всем привет! Есть результат запроса. Можно добавлять записи. Удалять можно только вновь добавленные(IBDataSet.ApplyUpdates - только при нажатии на применить), прежние - только редактировать. Как их можно отличить друг от друга?
← →
Sergey13 © (2007-02-19 13:28) [1]> Можно добавлять записи. Удалять можно только вновь добавленные(IBDataSet.
> ApplyUpdates - только при нажатии на применить), прежние
> - только редактировать.
Это ты желаемый результат описал или проблему свою?
← →
sergeyst © (2007-02-19 13:50) [2]
> Это ты желаемый результат описал или проблему свою?
> Sergey13 © (19.02.07 13:28) [1]
Описал желаемый результат вместе с проблеммой -
> Как их можно отличить друг от друга?
← →
Sergey13 © (2007-02-19 13:55) [3]> [2] sergeyst © (19.02.07 13:50)
Как вариант.
Добавь к запросу фиктивное поле, равное например 1. В новых записях пиши в него 0.
← →
sergeyst © (2007-02-19 14:18) [4]Sergey13 © (19.02.07 13:55) [3]
А как его добавить?
И еще. При вставке получить new_key_id, кроме как через запрос gen_id(gen, 1) from..., нельзя? GeneratorField"ом не знаю как пользоваться, как-то пробовал - не получилось. Объясните пжлста.ъ
А должно ли так быть? У таблицы есть триггер перед вставкой. В нем написано new.поле_такое-то... что-то там вставить в него. Поле обозначено как не пустое. Ну я и пытаюсь вставить запись, не указывая значение поля_такого-то. Ругается - поле не должно быть нуль или Должно иметь значение.
← →
Sergey13 © (2007-02-19 14:27) [5]> [4] sergeyst © (19.02.07 14:18)
> А как его добавить?
Напрмер добавив к списку полей ы запросе нечто вроде cast(1 as integer) as Flag
> Объясните пжлста.ъ
Так жмень на кнопку и выбираешь из выпадающих списков значения. Чего там непонятного.
> А должно ли так быть?
Required у поля посмотри.
← →
Desdechado © (2007-02-19 15:32) [6]Отличить что от чего?
Добавленные от удаленных?
← →
sergeyst © (2007-02-19 15:37) [7]> Sergey13 © (19.02.07 14:27) [5]
> Required у поля посмотри.
А это где?
> Desdechado © (19.02.07 15:32) [6]
Отличить добавленные в этом сеансе от выбранных из БД
← →
sergeyst © (2007-02-19 15:42) [8]Вот еще глюк(может мой?).
with IBDSSketch do begin
Edit;
FieldByName("PREVIEW_FILENAME").AsString := ExtractFileName(FN);
FieldByName("PREVIEW_TYPE_ID").AsInteger := 2;
(FieldByName("PREVIEW_BODY") as TBlobField).LoadFromFile(FN);
FieldByName("PREVIEW_NOTE").AsString := "Ñêàíèðîâàííûé ôàéë " + TS;
Insert;
ApplyUpdates;
end;
На ApplyUpdates ругается: Field "PREVIEW_TYPE_ID" must have a value. Я же задаю значение, так в чем дело? И почему Insert проходит? Ругаться, так уж сразу. Или есть отличие?
← →
sergeyst © (2007-02-19 15:43) [9]Главное запись-то добавляется
← →
Desdechado © (2007-02-19 15:44) [10]Insert добаляет новую (пустую запись). Вот в ней и не проходит.
PS замени на Post;
← →
Sergey13 © (2007-02-19 15:52) [11]> [7] sergeyst © (19.02.07 15:37)
> А это где?
У поля в датасете.
> Edit;
> FieldByName("PREVIEW_FILENAME").AsString := ExtractFileName(FN);
> FieldByName("PREVIEW_TYPE_ID").AsInteger := 2;
> (FieldByName("PREVIEW_BODY") as TBlobField).LoadFromFile(FN);
> FieldByName("PREVIEW_NOTE").AsString := "Neaie?iaaiiueaee " + TS;
> Insert;
Edit - переводит текущую запись в режим редактирования.
Insert - вставляет новую.
У тебя и получается фигня. см. PS от
> [10] Desdechado © (19.02.07 15:44)
← →
sergeyst © (2007-02-19 16:09) [12]Блин, и правда фигня. Спасибо.
← →
sergeyst © (2007-02-20 15:28) [13]with IBDSSketch do
try
FN1 := TempPath + "\EditDoc\" + FieldByName("PREVIEW_FILENAME").AsString;
SN1 := FieldByName("PREVIEW_FILENAME").AsString;
(FieldByName("PREVIEW_BODY") as TBlobField).SaveToFile(FN1);
Next;
FN2 := TempPath + "\EditDoc\" + FieldByName("PREVIEW_FILENAME").AsString;
SN2 := FieldByName("PREVIEW_FILENAME").AsString;
(FieldByName("PREVIEW_BODY") as TBlobField).SaveToFile(FN2);
Edit;
FieldByName("PREVIEW_FILENAME").AsString := SN1;
(FieldByName("PREVIEW_BODY") as TBlobField).LoadFromFile(FN1);
Prior;
Edit;
FieldByName("PREVIEW_FILENAME").AsString := SN2;
(FieldByName("PREVIEW_BODY") as TBlobField).LoadFromFile(FN2);
Вот, пытаюсь поменять местами 2 поля в запися. Выдает ошибку File not found. Файлы сохраняются на диске, но сразу после перевода датасета в режим редактирования, удаляются. Почему?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.04 c