Форум: "Базы";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];
Вниз
Как оргпнизовать добавление/удаление строки в приложении. Найти похожие ветки
← →
Yuraz (2003-04-29 08:42) [0]Подключаюсь к БД через источник данных(DataSource), далее через SQL компанента Query вывожу данные в DBGrid. SQL запрос типа
select
id,
name,
(select name from city where id=city_id) as city_id
...
from table
Т.е. показ организован.
А как добавить запись? Легко бы было добавить в этом же гриде, но он не напрямую работает с полями БД, а через Query. Приходится строить дополнительную форму, где располагаю элементы для ввода новых полей, а потом через insert. Это действительно делается таким путём, или можно как нибудь проще.
И второй вопрос, как узнать значение например поля -ID(NAME, City...), или любое другое значение строки, хранящеяся в таблице, если я только знаю порядковое значение текущей строки(RecNo) в DBGrid?
← →
Наталия (2003-04-29 08:57) [1]При помощи Query+UpdateSQL можно редактировать данные в DBGrid.
Для того, чтобы узнать значение поля не нужно никакое "порядковое значение текущей строки(RecNo) в DBGrid". В НД активна лишь одна запись - та, на которой находится курсор. Узнать значение поля этой записи: fieldbyname("id").asinteger.
← →
KoluChi (2003-04-29 09:01) [2]1) Query + UpdateSQL
2) RecNo не нужен.
ID := DBGrid.DataSource.DataSet.FieldByName("ID").Value.
Курсор уже стоит на текущей записи.
← →
KoluChi (2003-04-29 09:02) [3]>Наталия © (29.04.03 08:57)
постараюсь больше не мешать :)
← →
Yuraz (2003-04-29 09:04) [4]О, спасибо Наталия, за ответ на второй вопрос и в частности удаление, ID я выцеплю, а по нему удалю без проблем отдельным запросом.
С Insert сложнее. Без отдельной формы не обойтись. Справочных таблиц у меня 6 штук, 6 панелей и надо будет делать, каждую высвечивать при своём справочнике. Думаю так ?)
← →
Наталия (2003-04-29 09:11) [5]KoluChi © (29.04.03 09:02)
:0)
Yuraz © (29.04.03 09:04)
Тебе же написали: если использовать Query+UpdateSQL отдельная форма не нужна, редактировать можно прямо в DBGrid. Ты ответы-то не читаешь, что ли?
← →
Yuraz (2003-04-29 09:54) [6]Какой UpdateSQL? А если я через BDE не работаю? Delphi+Direct Oracle Access+Oracle8.
← →
Жук (2003-04-29 10:06) [7]
> Yuraz © (29.04.03 09:54)
> Какой UpdateSQL? А если я через BDE не работаю? Delphi+Direct
> Oracle Access+Oracle8.
Сразу надо СУБД указывать. Что за манеры ?
← →
Yuraz (2003-04-29 10:10) [8]Так Наталья говорит, типа "читай лучше, писали же" тоже что за манера, её благодаришь, а она ..
← →
KoluChi (2003-04-29 10:11) [9]
> Подключаюсь к БД через источник данных(DataSource), далее
> через SQL компанента Query вывожу данные в DBGrid
Это чьи слова? TQuery - это BDE. Ваш компонент называется по-другому. Разбирайтесь в своих компонетах (Direct Oracle Access).
Наверняка, что-нибудь, подобное есть (DataSet и Query+Update).
← →
Sergey13 (2003-04-29 10:58) [10]2Yuraz © (29.04.03 09:04)
>С Insert сложнее. Без отдельной формы не обойтись. Справочных таблиц у меня 6 штук, 6 панелей и надо будет делать, каждую высвечивать при своём справочнике. Думаю так ?)
И это правильно. (с) М.С.Горбачев
Я бы и на редактирование отдельную форму оставил (или инсертную приспособил). И это никак не зависит от компонентов доступа. Только от здравого смысла.
← →
Hawk2 (2003-04-29 12:29) [11]В серйозных программах ввод в базу осуществляется именно через формы, так как в форме можно контролировать вводимые значения, выдавать какую-то подсказку и т.д. Это делает программу понятной, читабельной, красивой и грамотно написаной, а также избавляет от кучи других проблем. Так что ты определись, как тебе нужно: качественно или как быстрее.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c