powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite и несколько вопросов
5 сообщений из 5, страница 1 из 1
SQLite и несколько вопросов
    #34262154
oldTV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста как мне решить несколько вопросов по SQLite. Они вроде бы простые, но все же есть сложности.
1. Я вставляю запись в таблицу и после вставки для работы с этой записью хочу получить ее ID. Структура талицы к примеру такая:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE [Persons] (
  [id] INTEGER NOT NULL PRIMARY KEY, 
  [modDate] timestamp, 
  [PersFName] varchar( 100 ), 
  [PersSName] varchar( 100 ), 
  [PersName] varchar( 100 ), 
 ...
  [Comments] varchar( 500 ));
Вот так правильно?
сначала вставка новой записи, затем получение id только вставленной записи:
Код: plaintext
select max(id) from Persons
2. В другом случае я хочу получить в этой же таблице "Фамилия И.О.". Для этого делаю такой запрос:
Код: plaintext
select [PersName] & " " & substr([PersFName], 1 , 1 ) & ". " & substr([PersSName], 1 , 1 ) & "." as [FIO]
и получаю вместо первого символа=substr([PersFName],1,1) - нуль. Как избавится?
...
Рейтинг: 0 / 0
SQLite и несколько вопросов
    #34264949
Серж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Если через АПИ, то есть функция sqlite3_last_insert_rowid. Если нет, то тоже самое ;)

Код: plaintext
select last_insert_rowid()

2.
Код: plaintext
1.
2.
SELECT categoryname || " " || substr(categoryname,  1 ,  1 )
FROM "Categories";

тынц
...
Рейтинг: 0 / 0
SQLite и несколько вопросов
    #34265801
oldTV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по второму вопросу понятно, вместо & следует использовать ||
по первому нет, этот запрос возвращает 0 :(
...
Рейтинг: 0 / 0
SQLite и несколько вопросов
    #34266285
Серж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oldTVпо первому нет, этот запрос возвращает 0 :(
делаем...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE [Persons] (
  [id] INTEGER NOT NULL PRIMARY KEY,
  [Comments] varchar( 500 ));

insert into Persons(id, Comments) values ( 1 , 'first');
select last_insert_rowid() as first_row_id;

insert into Persons(id, Comments) values ( 2 , 'second');
select last_insert_rowid() as second_row_id;

drop table [Persons];

Получаем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
( 2  row(s) affected)


first_row_id 
------------ 
 1             

second_row_id 
------------- 
 2              

Есть особенности с триггерами, но ведь у тебя триггеров нет, верно? ;)
...
Рейтинг: 0 / 0
SQLite и несколько вопросов
    #34268215
oldTV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, все теперь есть. Это моя оплошность, сорри
И стриггерами у меня ничего нет :)

Спасибо, темку можно закрыть
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite и несколько вопросов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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