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

Вниз

Как оргпнизовать добавление/удаление строки в приложении.   Найти похожие ветки 

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

Наверх




Память: 0.49 MB
Время: 0.01 c
1-70367
Zew
2003-05-10 13:14
2003.05.22
Узнать время!


1-70214
anbezr
2003-05-08 10:21
2003.05.22
Получить высоту одной строчки в TEdit


7-70547
mmmh
2003-03-24 22:24
2003.05.22
Подскажите как извлеч файл из архива который запоролен. То есть


1-70228
Mazer
2003-05-11 18:01
2003.05.22
Одинаковые значания Captions десятка Labels???


3-70093
Michel
2003-05-04 15:23
2003.05.22
Как преобразовать БД одной системы в другую