Модераторы: Alexeis
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SQLite узнать id только что добавленной в БД записи 
:(
    Опции темы
Brodyaga
Дата 23.8.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: нет
Всего: 2



Ещё вопросик...
Как в SQLite можно узнать id только что добавленной в БД записи?
Думаю сделать это с помощью функции Max, но может есть какие-то специальные средства? Как например специалныепеременные в MSSQL...

PM MAIL   Вверх
Alexeis
Дата 23.8.2009, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Можно сделать генератор в базе и самому устанавливать ID тогда не нужно узнавать.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Brodyaga
Дата 24.8.2009, 06:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: нет
Всего: 2



Цитата

Можно сделать генератор в базе и самому устанавливать ID тогда не нужно узнавать.

Генератор в базе? это как?
PM MAIL   Вверх
Alexeis
Дата 24.8.2009, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Цитата(Brodyaga @  24.8.2009,  05:20 Найти цитируемый пост)
Генератор в базе? это как? 

  Не уверен поддерживает ли SQLite такую штуку, но вообще SQL допускает создание генераторов.
Код

CREATE GENERATOR <имя генератора>;
SET GENERATOR <имя генератора> TO 0;


Использование 
Код

SELECT GEN_ID(<имя генератора>, 1) FROM rdb$database;


Но мне думается что с SQLite такое не проканает, потому что имя системной таблицы отличается
Нашел еще такой вариант.
Код

SELECT last_insert_rowid();


Цитата

last_insert_rowid()  Return the ROWID  of the last row insert from this connection to the database. This is the same value that would be returned from the sqlite3_last_insert_rowid() API function. 





--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Romikgy
Дата 24.8.2009, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(Alexeis @  24.8.2009,  08:24 Найти цитируемый пост)
"SELECT last_insert_rowid()";

апи возможно и работает , но из sql результат не верный отдает :(
вот запрос который отдает все значения генераторов по всем таблицам sqlite 
Код

select * from sqlite_sequence;



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Brodyaga
Дата 27.8.2009, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: нет
Всего: 2




Цитата

Цитата(Alexeis @  24.8.2009,  08:24 Найти цитируемый пост)
"SELECT last_insert_rowid()";

апи возможно и работает , но из sql результат не верный отдает :(
вот запрос который отдает все значения генераторов по всем таблицам sqlite 
Код

select * from sqlite_sequence;



Ну это в сущности тоже самое что и Max использовать...

Это сообщение отредактировал(а) Brodyaga - 27.8.2009, 14:40
PM MAIL   Вверх
Romikgy
Дата 27.8.2009, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(Brodyaga @  27.8.2009,  13:39 Найти цитируемый пост)
Ну это в сущности тоже самое что и Max использовать...

не совсем макс берет максимум 
а эта таблица содержит сам генератор....


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Brodyaga
Дата 30.8.2009, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: нет
Всего: 2



Цитата

не совсем макс берет максимум 
а эта таблица содержит сам генератор....


Ну, а генератор и есть максимальный...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование мобильных устройств"
Alexeis

Раздел посвящен программированию мобильных устройств.

Все остальные вопросы по мобильным устройствам (КПК, смартфоны, телефоны, фотоаппараты и т.п),
не имеющие отношения к программированию, просьба размещать в разделе КПК, смартфоны, мобильники

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Платформы Windows Mobile и Windows Embedded | Следующая тема »


 




[ Время генерации скрипта: 0.1246 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.