MMK

Объявление

Наш старый-добрый Форум=)

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » MMK » Поможем друг другу » Пособие по убд за февраль


Пособие по убд за февраль

Сообщений 1 страница 10 из 10

1

Расскажу в кратце что надо для добавления/редактирования/удаления записей в бд -)
Здал еще в понедельниу на 5 -)
ладно начнем:
1. как обычно создаем приложение с 1 формой. Располагаем на ней DBGrid вкладка DataControls.
2. создаем DataModule (File -> New -> DataModule)
3. располагаем на нем компоненты вкладки InterBase: IBDatabase, IBTransaction. Для каждой таблицы бд добавляем компоненты IBDataSet, IBUpdateSQL, а также компоненты DataSource с вкладки DataControls(для каждой таблицы по 1). Устанавливаем свойства компонентов:
IBDatabase:
DataBasename - имя файла бд, созданного в IBConsole
IBDataSet:
Transaction - имя компонента IBTransaction
Database - имя компонента IBDatabase
UpdateObject - имя компонента IBUpdateSQL, связанного с этой же таблицей.
GeneratorField - имя генератора для этой таблицы для автоинкрементного поля, increment by 1, apply event - on new record.
IBTransaction:
DefaultDatabase - имя компонента IBDatabase.
DataSource:
DataSet - имя компонента IBDataSet связанного с ним.
4. для каждого объекта IBDataSet вызываем контекстное меню и выбираем EditSQL.
5. пишем тут (SELECT * from имя_таблицы)в каждом объекте IBDataSet для его таблицы. OK
6. выбираем из конекстного меню каждого IBDataSet DatabaseEditor выбираем KeyFields(ключевое поле - в основном это поле с кодом) и UpdateFields(поля для обновления - в основном все поля).
7 жмем button Generate SQL
8 пункты 7,8 проделываем с каждым соответсвующим компонентом IBUpdateSQL
9. теперь можно добавлять/удалять/редактировать записи, используя компонент IBDataSet для каждой таблицы также как использовали Table на практике по бд на 2ом курсе(методы Insert,Edit после которых присваивать полям значения с помощью FirldByName('имя поял'), Delete - для удаления текущей записи, а также методы Post, Cancel для принятия и отмены изменений)

0

2

Большущий респект!! Прямо пример для подражания! Особенно понравилось про генераторы, я этого не знал  :(  и как раз думал как сделать. Только объясните мне зачем нужен компонент IBUpdateSQL?

0

3

TIBUpdateSql. Главная задача этого компонента – обеспечить модификацию набора данных, доступных только для чтения. -) Без этого компонента будет возникать ошибка. Также ошибка будет возникать, если не выполнить пункты 7,8 для него -) Точно не могу сказать как error называется. Не помню -)

Отредактировано Antoxa (2007-03-01 21:34:06)

0

4

Antoxa, почему когда я нажимаю GeneratorField он мне говорит Empty SQL statement?

0

5

Добавь генераторы в IBConsole для каждой таблицы, где есть автоинкрементные поля, или проверь пункт 5, 2ым щелчком по компоненту IBDataSet. Если все сделано правильно должны появиться поля связанной с этим компонентом таблицы. -)

0

6

А как работает GeneratorField? просто у меня не пашет. Когда он его генерирует? там можно выбрать опцию - на новую запись, и по идее, при переходе в режим редактирования, данное поле должно заполнятся значением этого генератора, чего у меня не просходит. Может еще что-то надо сделать?

0

7

Генератор можно не только задавать в свойствах компонента TIBQuery но и вызывать его в SQL запросах.
Пример: INSERT INTO ляляля (ID_ляляля,ляляля) VALUES (GEN_ID(Название генератора (который ты создал в InterBase),шаг (ставь еденицу)) т.е. должно получится (GEN_ID(ляляля,1),ляляля)

зы через свойства у меня тоже не пашет.

зыы Если кто знает, расскажите как реализовать фильтрацию. Привидите просто пример запроса. Ато что-то не догоню никак.

Отредактировано FallenAngel (2007-03-19 20:50:12)

0

8

Select *
From ляля
Where ляля

если с группировкой то так

Select *
From ляля
Group by ляля
having(вроде) ляля

все функция типа like и т.д. теже

0

9

Пример супер базы: :)
begin
лялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллял
ялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляля
ллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяля
ляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялял
ляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляялялялляляллялял
лялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляялялялляляллялялляляляллялялляляляллялялялляляля
лляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляялялялляляллялялляляляллялялл
ялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляялялялляля
лляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляялялялляляллялялляляляллялялляляляллялялял
лялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялял
ляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляялял
яллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялл
яляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляяляляллялялляляллялялялляляллялялялляляляллялялялляялялялляляллялялл
яляляллялял
end

0

10

Да норм ))))  4 звенная наверно)))))))))))????????????????

0


Вы здесь » MMK » Поможем друг другу » Пособие по убд за февраль