Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как узнать ключь добавленной записи? / 10 сообщений из 10, страница 1 из 1
30.05.2005, 10:30
    #33090057
a_max_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ключь добавленной записи?
Прогу пишу в билдере.
Я добавляю новый элемент в таблицу *.mdb с помощью компонента TADOCommand. Как мне однозначно определить значение ключа этого элемента, который имеет тип "счетчик" тобишь генерируется сам?
...
Рейтинг: 0 / 0
30.05.2005, 10:37
    #33090070
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ключь добавленной записи?
Можно так:

в таблицу добавить еще одно поле, в котором хранить имя пользователя, или его ИД, а потом
Код: plaintext
select max(ID) from table where userid=:userid

а вобще - не пиши на акцесе, пользуй FB embedded
...
Рейтинг: 0 / 0
30.05.2005, 11:11
    #33090161
a_max_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ключь добавленной записи?
Я просто новичек в билдере. Может набросаете мне примерный код
...
Рейтинг: 0 / 0
30.05.2005, 11:19
    #33090187
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ключь добавленной записи?
1. Добавлять записи умеешь ?
добавляй insert into Table (userid,value1) values (:userid,:value1)
2. Выборку делать умеешь ?
см выше

всё это относится с многопользовательской работе, где надо ходить в базу под разными пользователями, у каждого должен быть свой ИД, который и заносится в таблицу при добавлении записи

если работаешь один, тогда просто селект макс(ид) ...
...
Рейтинг: 0 / 0
30.05.2005, 14:52
    #33090809
a_max_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ключь добавленной записи?
Если, допустим, я использую компонент типа TADOQuery:

ADOCommandQuery->SQL->Clear();
ADOCommandQuery->SQL->Add("Selet max(field_auto_counter) FROM MyTable");
ADOCommandQuery->ExecSQL();

где находится полученное значение?
...
Рейтинг: 0 / 0
30.05.2005, 15:13
    #33090858
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ключь добавленной записи?
1. ADOCommand и ADOQuery - это разные компоненты ...
2. у ADOQuery есть FieldByName или
Код: plaintext
Fields->Fields[i]
...
Рейтинг: 0 / 0
30.05.2005, 15:40
    #33090953
a_max_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ключь добавленной записи?
Если делать так

Код: plaintext
1.
 long id = ADOCommandQuery->FieldByName(ID_Name)->AsInteger;

то выдает сообщение об ошибке
Код: plaintext
1.
  ADOCommandQuery: Field 'ID_Field' not found
...
Рейтинг: 0 / 0
30.05.2005, 15:42
    #33090960
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ключь добавленной записи?
После выполнения max(...) поле будет называться по-другому, можешь подключить к DBGrid и посмотреть, или лучше по номеру поле выбирать, тем более в выборке оно одно
...
Рейтинг: 0 / 0
30.05.2005, 17:56
    #33091285
a_max_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ключь добавленной записи?
УРА получилось ) Надо запрос выполнять функцией
ADOCommandQuery->Open();
Спасибо за участие!!!
...
Рейтинг: 0 / 0
01.06.2005, 20:59
    #33096011
skunk_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ключь добавленной записи?
Код: plaintext
1.
SELECT @@IDENTITY FROM SomeTable
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как узнать ключь добавленной записи? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]