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

Вниз

Редактирование записей БД   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.034 c
2-1171046515
jon007
2007-02-09 21:41
2007.03.11
Получение напряжений блока питания средствами Delphi


11-1142601519
sff
2006-03-17 16:18
2007.03.11
передача данных в Excel


2-1171805222
GTR86
2007-02-18 16:27
2007.03.11
Как показать окна программ, запущенных пользователем?


2-1171959306
vitv
2007-02-20 11:15
2007.03.11
DBGrid11CellClick(Column: TColumn);-вопрос реализации


2-1171879384
Виталий Гаврилов
2007-02-19 13:03
2007.03.11
Передвижение по TreeView1