Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
8 / 4 / 0
Регистрация: 18.05.2012
Сообщений: 214
1

Автоматическое присвоение значения в БД

15.08.2015, 18:28. Показов 1122. Ответов 5
Метки нет (Все метки)

Здравствуйте, такая проблема, в связке Делфи+MSSQL по средствам adoquery в dbgrid выводятся значения таблицы table1 БД.
Как при добавлении новой строки в таблицу (т.е. в моем случае предварительно открывается Form2 и отправляется запрос) присваивалось автоматически (допустим по правилу начиная с '0001') значение в edit1 на Form2?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.08.2015, 18:28
Ответы с готовыми решениями:

Автоматическое присвоение значения полю с логическим типом данных
Имеется Таблица_1, в которой есть поле_Клиент и поле_Дата(получения документа) и Таблица_2 с...

Автоматическое присвоение id элементам
Здравствуйте, передо мной стоит следующая задача: Нужно создать отправку формы с помощью...

Автоматическое присвоение номера
Доброго времени суток. Ситуация такая: есть таблица с ключевым полем и полем "Номер документа",...

Автоматическое присвоение данных из БД
Добрый день. Хотелось бы узнать, как можно реализовать вот такую штуку: Человек добавляет нового...

5
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
16.08.2015, 05:36 2
SELECT MAX(column_name) FROM table_name найди максимальное значение. Добавь единицу и выведи в edit1 при создании Form2
1
8 / 4 / 0
Регистрация: 18.05.2012
Сообщений: 214
16.08.2015, 17:25  [ТС] 3
Цитата Сообщение от Razdolbait Посмотреть сообщение
найди максимальное значение.
А если этих значений в дальнейшем наберется на несколько тысяч, не будет ли процесс вычисления слишком долгим ?

Добавлено через 2 часа 21 минуту
Ругается, что аргумент не входит в диапазон ?
Delphi
1
2
3
4
5
6
7
procedure TForm3.FormCreate(Sender: TObject);
var
x:string;
begin
  Adoquery2.SQL.Text:='select max(n_zapr) from zapr ';
   x:=Adoquery2.Fields[0].AsString;
   Edit1.text:=x;
0
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
16.08.2015, 19:06 4
По фотографии гадать не умею.
Но есть подозрение что поле должно быть типа integer (счетчик)...
0
8 / 4 / 0
Регистрация: 18.05.2012
Сообщений: 214
17.08.2015, 16:27  [ТС] 5
Test.rar "База" внутри
0
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
19.08.2015, 10:48 6
Не получается посмотреть твой проект.
Могу показать пример кода как я проверяю пропущенные индексы

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TAForm132.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
  if (Button=nbInsert) then begin//выбран Insert
    Form2.ADOQuery12.First;
    while not Form2.ADOQuery12.Eof do begin//проверка построчно
      if Form2.ADOQuery12.FieldByName('idgrop').AsInteger=i then//если ключ совпадает с номером записи
      begin
        Form2.ADOQuery12.Next;
        i:=i+1;
      end
      else
      begin
        Form2.ADOQuery12.Insert;
        Form2.ADOQuery12.FieldByName('idgrop').AsInteger:=i;//иначе новой записи присваиваем текущий номер (1-й пропущеный)
        i:=i+1;
        break;
      end;
    end;
  end;
end;
Delphi
1
2
3
4
procedure TAForm132.FormCreate(Sender: TObject);
begin
  i:=1;
end;
Может что-нибудь тебе и пригодится)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.08.2015, 10:48

Автоматическое присвоение значений записи
Добрый день! Подскажите пожалуйста, как настроить таблицу так чтобы при выборе из выпадающего...

Автоматическое присвоение номера записи
Приветствую Кто подскажет, как провернуть такой фокус В форме имеется свой счетчик записей,...

Автоматическое присвоение массиву единичного аргумента
Коллеги! Следующая задача- Имеется Массив (Набор Данных), необходимо через Форму каждому значению...

Автоматическое присвоение инвентарного номера и подсчет записей по дате
Здравствуйте! Имеется база данных материалов, там около 1500 записей. Возможно ли как-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru