Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1171356217
Slider007
2007-02-13 11:43
2007.03.11
"Как окоротить Майкрософт"


2-1171650178
Kolan
2007-02-16 21:22
2007.03.11
Создание формы динамически — говорит ресурс не найден.


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


15-1171429447
vajo
2007-02-14 08:04
2007.03.11
ICQ


15-1171438394
Rouse_
2007-02-14 10:33
2007.03.11
А вы говорите зачем в Москве много зарабатывать?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский