|
Вопрос # 5 406/ вопрос открыт / |
|
Здравствуйте!
Как программно прописать так что бы при нажатии кнопки из DBLookupComboBox удалялось значение и сохранялось пустое значение?
прописал на кнопку DBLookupComboBox3.KeyValue:=Null; но значение только удаляется, но потом заново появляется, как сохранять пустое значение?
DBLookupComboBox соеденён с БД, может проблема в том что оно удаляется из DBLookupComboBox, но остаётся в БД?
 |
Вопрос задал: strannik23 (статус: Посетитель)
Вопрос отправлен: 13 июня 2011, 21:44
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: corban
Здравствуйте, strannik23!
DBLookupComboBox это такая фигня, которая данные из одного набора данных сопоставляет с данными из другого набора, удалять чтолибо из него напрямую нереально. Для этого надо удалять записи из обоих наборов данных, иначе в основной таблице появятся поля не сопоставимые с дочерней, судя по всему ты просто хочешь заменить данные пустой строкой, тогда только так:
DBLookupComboBox3.ListSource.Enabled:=false;
DBLookupComboBox3.ListSource.DataSet.Edit;
DBLookupComboBox3.ListSource.DataSet.FieldByName(DBLookupComboBox3.ListField).AsString:='';
DBLookupComboBox3.ListSource.DataSet.Post;
DBLookupComboBox3.ListSource.Enabled:=true;
 |
Ответ отправил: corban (статус: 2-ой класс)
Время отправки: 15 июня 2011, 14:23
|
Ответ #2. Отвечает эксперт: ArtGal
Здравствуйте, strannik23!
Вопрос поставлен не корректно.
Какая БД, структура таблиц?
Если нужно удалить запись из некой таблицы, то причем здесь DBLookupComboBox?
Пример:
delete from ChildTable ChT -- дочерняя таблица
where ChT.[поле] = :[параметр]
-- скорее всего поле используемое для связи
-- дочерней и родительской таблиц.
-- Параметр - значение кей валуе DBLookupComboBox'a
 |
Ответ отправил: ArtGal (статус: 1-ый класс)
Время отправки: 21 июня 2011, 17:40
|
Мини-форум вопроса
Всего сообщений: 14; последнее сообщение — 21 июня 2011, 17:41; участников в обсуждении: 4.
|
Gooddy (статус: 3-ий класс), 13 июня 2011, 22:06 [#1]:
Проблема как раз в том, что значение остаётся в БД.
Кстати KeyValue какого типа?
Чисти код! Чисти код! Чисти код!
|
|
strannik23 (статус: Посетитель), 13 июня 2011, 22:09 [#2]:
подскажи как удалить значение из БД
|
|
strannik23 (статус: Посетитель), 13 июня 2011, 22:34 [#3]:
кто нибудь может помочь?
|
|
Gooddy (статус: 3-ий класс), 13 июня 2011, 22:53 [#4]:
Ты специально игнорируешь мои вторые вопросы?
KeyValue какого типа?
Чисти код! Чисти код! Чисти код!
|
|
strannik23 (статус: Посетитель), 13 июня 2011, 22:53 [#5]:
текстовый
|
|
Gooddy (статус: 3-ий класс), 13 июня 2011, 22:56 [#6]:
Тогда почему null. Не = ''?
Сейчас разберусь как удалять из базы.
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 13 июня 2011, 22:58 [#7]:
Попробуй менять ListField и KeyField
Чисти код! Чисти код! Чисти код!
|
|
strannik23 (статус: Посетитель), 13 июня 2011, 23:02 [#8]:
так нельзя
|
|
Gooddy (статус: 3-ий класс), 13 июня 2011, 23:03 [#9]:
Тогда извиняй, я вообще с базами не работаю.
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 13 июня 2011, 23:08 [#10]:
И можешь не ждать, до завтра врятли кто ответит.
Чисти код! Чисти код! Чисти код!
|
13 июня 2011, 23:46: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Программирование баз данных (БД) модератором Ерёмин А.А.
|
Мережников Андрей (статус: Абитуриент), 14 июня 2011, 06:06 [#11]:
Цитата (strannik23):
подскажи как удалить значение из БД
какая БД? какая структура таблиц? какие компоненты используются для доступа к БД? в какой таблице должно удаляться значение?
|
|
strannik23 (статус: Посетитель), 14 июня 2011, 07:33 [#12]:
данные храняться в компоненте TADOTable, храниться текстовое значение, DBLookupComboBox береёт данные из одной таблицы и передают их в другую
|
|
Мережников Андрей (статус: Абитуриент), 14 июня 2011, 17:02 [#13]:
данные не могут храниться в TADOTable - это компонент для доступа к данным, а не для их хранения. В какой таблице надо удалять значение - в первой (из которой берется значение) или из второй (куда передается) ? Какая структура таблиц? Какая БД?
|
|
ArtGal (статус: 1-ый класс), 21 июня 2011, 17:41 [#14]:
Вопрос поставлен не корректно.
Какая БД, структура таблиц?
Если нужно удалить запись из некой таблицы, то причем здесь DBLookupComboBox?
Пример:
delete from ChildTable ChT -- дочерняя таблица
where ChT.[поле] = :[параметр]
-- скорее всего поле используемое для связи
-- дочерней и родительской таблиц.
-- Параметр - значение кей валуе DBLookupComboBox'a
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|