Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Базы данных под .NET > Получение последней добавленной строки |
Автор: Ruslan_ 4.9.2008, 20:29 |
Приветствую! Как получить последнюю добавленную строку (или точнее говоря ее первичный ключь), используя драйвер ODBC. Есть какой-то универсальный метод для любой БД? Я разрабатываю ПО для работы с СУБД Access и Postgres. Заранее благодарю. |
Автор: MasterOfCode 5.9.2008, 06:12 | ||
Так. |
Автор: Idsa 5.9.2008, 06:13 |
MasterOfCode, читайте внимательнее. Необходим универсальный способ под ODBC. |
Автор: Ruslan_ 5.9.2008, 06:26 |
Если нет (а я уже искал везде, где только можно), можете сказать, как получить строку (или ключевое поле) последней добавленной строки в Access? В Postgres все понятно: следующее значение из последовательности использовать как значение ключегого поля при вставке строки. |
Автор: MasterOfCode 5.9.2008, 06:42 |
Простите за невнимательность. Не знаю как в Access, есть ли там Тригерры и Процедуры, если есть, то можно добавить в таблицу поле например DATE_INSERT типа DateTime, написать триггер который при вставке добавлял дату вставки, и Хранимую процедуру (функцию) на вставку, которая бы добавляла запись, а в качестве возвращаемого параметра возвращала ID записи. |
Автор: Ruslan_ 5.9.2008, 10:01 |
Как у этого поля типа "Счетчик" запросить следующее значение перед вставкой? |
Автор: Idsa 5.9.2008, 12:48 |
Ruslan_, а зачем? Оно само выставляется, когда вставляется запись. А в INSERT это поле не указывается. |
Автор: Varenij 5.9.2008, 12:54 | ||
Не знаю как Вам, но мне очень часто нужно знать ID вставленной строки, чтобы с ней дополнительные манипуляции произвести. |
Автор: Idsa 5.9.2008, 13:00 | ||
Это уже другой вопрос. Вы говорите о том, чтобы узнать ID после вставки, а Ruslan_, судя по всему, хочет узнать ID до вставки. |
Автор: Ruslan_ 5.9.2008, 13:21 |
Idsa, знать значение первичного ключа мне необходимо для того, чтобы с добавленной записью в таблице связать записи из др. таблиц, связанных отношением первичный-внешний ключ. А иначе не получится. На самом деле не важно: сгенерировать следующее значение для счетчика и вставить строку с этим значением или же вставить строку и узнать ее ид. - не важно. Просто нужно получить любыми способами добавленную строку. Здесь ведь есть программисты для БД. Скажите, пожалуйста, как вы делаете это для Access (если нет общего механизма для любой БД)? (Просто в Access нет типа последовательность, как в Oracle или Postgres.) |
Автор: Ruslan_ 5.9.2008, 14:44 |
Это просто важно очень. Как получить последнюю добавленную строку в Access'е? |
Автор: Ruslan_ 19.9.2008, 15:11 |
Если кто-то столкнется с такой же проблемой, опишу мое решение. В зависимости от того, какая СУБД используется, для Oracle и Postgres я перед добавлением новой записи предварительно получаю ее ид. из последовательности; для Access'а получаю максимальный ид. и использую на 1 больше. Access открываю в монопольном режиме. Использую драйвер ODBC. |