Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.01.2007, 15:42
junglist junglist вне форума
Прохожий
 
Регистрация: 06.01.2007
Сообщения: 1
Репутация: 10
По умолчанию Как автоматически добавить запись в ячейку таблицы при заполнении всей строки

Требуется совет.
Есть таблица. У нее 3 поля, A, B, C
Как сделать, чтобы при заполнении полей A и B одной строки поле С этой же строки заполнялось автоматически каим-либо стринговым значением.

Второй вопрос: Как заполнить весь столбец константным значением, которое не смог бы поменять пользователь. То есть при вводе A и B значение С уже было бы предустановлено.

Напишите кто знает как это сделать... Буду очень признателен.
Ответить с цитированием
  #2  
Старый 07.01.2007, 19:22
bormental bormental вне форума
Прохожий
 
Регистрация: 07.01.2007
Сообщения: 3
Репутация: 10
По умолчанию

Поле С делаешь Calculated и в обработчик Table onCalculated вписываешь какой стринг вписать в С в зависимости от А и В.
А второй вопрос... типа
TableC.Value:='хрен вам';
TableC.ReadOnly:= True;
Ответить с цитированием
  #3  
Старый 12.01.2007, 17:46
YCH.Del YCH.Del вне форума
Прохожий
 
Регистрация: 07.12.2006
Сообщения: 22
Репутация: 10
По умолчанию

Блин, хоть бы указал, чем пользуешься... Ладно, будем угадывать.
Идем в FieldEditor твоего датасета и на нужном поле ставим ReadOnly := True. Затем пишем обработчик OnInsert для твоего датасета, и в нем пишем что-то вроде
Код:
ClientDataSet1.FieldByName('C').AsString := 'Телепаты в отпуске';
Пробуй. Проверить не на чем, так что давай сам
Ответить с цитированием
  #4  
Старый 18.01.2007, 15:20
Tigrillo Tigrillo вне форума
Прохожий
 
Регистрация: 18.01.2007
Сообщения: 38
Репутация: 10
По умолчанию

всё верно, либо вычисляемое поле, либо (если SQL) триггер сделать, либо переделать таблицу добавив default в это поле.
Ответить с цитированием
  #5  
Старый 08.02.2007, 13:31
dron-s dron-s вне форума
Прохожий
 
Регистрация: 08.02.2007
Сообщения: 44
Репутация: 10
По умолчанию

хех, а в чём проблема сделать так
Код:
INSERT INTO Name_Table (A, B, C) VALUES (:A, :B, :C);
а в коде написать
Код:
  with dm.QTable do
    begin
      ParamByName('a').AsString := ''+Edit1.Text.Text+'';
      ParamByName('b').AsString := ''+Edit2.Text.Text+'';
      ParamByName('c').AsString := ''+'привет телепатам :)'+'';
   end;
тоесть работать через параметры...
Ответить с цитированием
  #6  
Старый 08.02.2007, 13:32
dron-s dron-s вне форума
Прохожий
 
Регистрация: 08.02.2007
Сообщения: 44
Репутация: 10
По умолчанию

а, ну естественно, что после всего этого ещё надо ExecSQL выполнить
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:30.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter