Вверх ↑
Этот топик читают: Гость
Ответов: 20
Рейтинг: 0
#1: 2007-03-30 14:05:25 ЛС | профиль | цитата
Прошу прощения за беспокойство. Сейчас занят SQL Lite осуществить добавление данных в таблицу получилось сделать. В базе данных 6 ячеек на каждую запись.

Но вот понять как удалить выбранную строку из базы данных не могу понять.
Как очистить всю базу проблем нет, а вот как только выделенную строку.

А также редактирование отдельной строки, то есть например чтобы при редактировании в элементе
Add(StringTable,15077526,333,119)
{
Left=15
Top=10
Width=495
Height=335
Columns=#6:Ник=70|9:Город =60|10:Сотовый=80|21:Web=120|6:ICQ=80|9:E-Mail=80|
Grid=0
StaticColumn=0
}
То есть после повторного открытия программы показываются вновь то что было.

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

0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2007-03-30 14:22:56 ЛС | профиль | цитата
exampledatabasesqlite_demo.sha
карма: 27
0
Ответов: 16884
Рейтинг: 1239
#3: 2007-03-30 18:09:35 ЛС | профиль | цитата
SMM, проще всего (если выводишь таблицу БД в StringTable) Запрос сделать
SELECT rowid, * FROM <имя таблицы> ORDER BY rowid
и тогда удалить очень просто по номеру строки
DELETE FROM <имя таблицы> WHERE rowid=<нужный номер строки>

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2007-03-30 18:15:53 ЛС | профиль | цитата
Tad, по той ссылке, которую я дал все это уже есть и со StringTable и надежнее, чем по rowid(так удалять можно только в том случае, если есть уверенность, что базу не изменят пока пользователь будет жать Удалить).
карма: 27
0
Ответов: 16884
Рейтинг: 1239
#5: 2007-03-30 19:50:12 ЛС | профиль | цитата
exampledatabasesqlite_demo.sha
не запускается (у меня).
Что-то с чтением из регистра. Пока не разбирался.
Смотрю по той ссылке. Ну не для начинающего это. И ни одного коментария. Хоть убейте, но не example это, а скорее кросворд для любителей HiAsm.

[size=-2]------ Добавлено в 19:50
Назначил CURRENT_CONFIG тогда пошло.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2007-03-30 20:10:49 ЛС | профиль | цитата
Tad писал(а):
Хоть убейте, но не example это, а скорее кросворд для любителей HiAsm

да вынужден согласится Из Demo примера по работе с sqlite пример медленно перерос в самодостаточный редактор BD.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#7: 2007-03-30 20:13:19 ЛС | профиль | цитата
Tad писал(а):
Смотрю по той ссылке. Ну не для начинающего это. И ни одного коментария

Дык напиши
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#8: 2007-03-30 20:27:50 ЛС | профиль | цитата
Galkov, я (в своих схемах) пишу почти всегда, а в тех что выкладываю на сайт - всегда.
Писать для не своих схем - точно отгадывание кросворда .
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#9: 2007-03-30 20:46:16 ЛС | профиль | цитата
Tad, ну давай по-другому:
Дык напиши то считаешь более понятным и удобным.
Кто же возражает

карма: 9

0
Ответов: 1891
Рейтинг: 110
#10: 2007-04-04 00:59:08 ЛС | профиль | цитата
SMM, писал(а):
А также редактирование отдельной строки, то есть например чтобы при редактировании в элементе


Можно так:
UPDATE НаименованиеТаблицы SET Ник='НовыйНик', Город='НовыйГород', Сотовый='НовыйСотовый', Web='НовыйWeb', ICQ='НовыйICQ', Mail='НовыйMail' WHERE Ник='СтарыйНик', Город='СтарыйГород', Сотовый='СтарыйСотовый', Web='СтарыйWeb', ICQ='СтарыйICQ', Mail='СтарыйMail';


где:
НаименованиеТаблицы соответственно - название таблицы в базе данных
Ник, Город, Сотовый,Web соответсвенно - название столбцов в таблицe
Старый... соответственно - данные из строки, которую необходимо заменить
Новый... соответственно - новые данные, которые заменяют старые.

[size=-2]------ Добавлено в 00:38
Tad, писал(а):
и тогда удалить очень просто по номеру строки
DELETE FROM <имя таблицы> WHERE rowid=<нужный номер строки>


Только после выполнения запроса DELETE FROM <имя таблицы> WHERE rowid=<нужный номер строки> нужно будет выполнить и запрос vacuum - иначе запрос DELETE FROM <имя таблицы> WHERE rowid=<нужный номер строки> не совсем работать будет, да и на удалять можно не те строки, которые необходимы

[size=-2]------ Добавлено в 00:59
SMM, писал(а):
Но вот понять как удалить выбранную строку из базы данных не могу понять.


Можно еще и так:

DELETE FROM НаименованиеТаблицы WHERE Ник='ЗНАЧЕНИЕ' AND Город='ЗНАЧЕНИЕ' AND Сотовый='ЗНАЧЕНИЕ' AND Web='ЗНАЧЕНИЕ' AND ICQ='ЗНАЧЕНИЕ' AND Mail='ЗНАЧЕНИЕ'


Но лучше к таблице добавить столбец с индексом, например id (INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT) и можно будет удалять строку так:
DELETE FROM НаименованиеТаблицы WHERE id='ИндексСтроки';
карма: 0
%time%
0
Гость
Ответов: 17029
Рейтинг: 0
#11: 2007-04-04 02:03:14 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2021-05-22 08:26:26
карма: 0

0
Ответов: 20
Рейтинг: 0
#12: 2007-04-04 21:34:04 ЛС | профиль | цитата
Вот здесь код книги (только код архивированный):
http://megaobzor.com/isxkod.zip (4 кило)

база сама создастся, нужна только библиотека SQLLite

просьба если будет свободное время, помочь с добавлением удаления и редактирования.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#13: 2007-04-04 22:55:57 ЛС | профиль | цитата
SMM, У тебя HiAsm установлен? Если да, то в примерахБазы данных SQLite_Demo.sha - какраз все то, что ты
SMM писал(а):
просьба если будет свободное время, помочь с добавлением удаления и редактирования.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1891
Рейтинг: 110
#14: 2007-04-04 23:10:45 ЛС | профиль | цитата
Tad, у тебя с rowid нормально строки из таблицы удаляются?
карма: 0
%time%
0
Ответов: 16884
Рейтинг: 1239
#15: 2007-04-04 23:24:18 ЛС | профиль | цитата
Да. При том оченьудобно и сразу после Delete опять Select rowid,* from ..........
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)