Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 4698
Рейтинг: 426
#31: 2010-04-03 13:34:46 ЛС | профиль | цитата
[offtop]Tad, можно спокойно делать склейку сообщений, при этом оно выделяется как новое, Dilma, наверное, опять так сделал [/offtop]
------------ Дoбавленo в 13.34:
Tad
Пользователь
Ответов: 6223
Рейтинг: - 666 +
93.25%
Капитал: 3060ћ

карма: 10
0
Ответов: 8930
Рейтинг: 823
#32: 2010-04-03 13:36:09 ЛС | профиль | цитата
[offtop]Tad, не буди коллегу, пусть отоспится, на свежую голову легче соображать [/offtop]
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#33: 2010-04-03 13:39:12 ЛС | профиль | цитата
Assasin, Число дьявола я видел. http://www.inauka.ru/blogs/article51167.html
Кто бы единичку (хотя бы) поставил
Леонид, да не спит он - был в списке зарегистрированых.
[offtop]Assasin, Ага.
1. Но у меня почему-то оно наверх (согласно измененной дате) не вылазит
2. А оно не напишет, что в сообщении больше ХХХХХХ символов?
Раньше писало. Экспериментировать неохота. [/offtop]
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 4698
Рейтинг: 426
#34: 2010-04-03 13:43:12 ЛС | профиль | цитата
[offtop]1. Все там оно вылазит, у тебя просто оно не должно как новое помечатсья
2. Не думаю, что у тебя будет больше XXXXXX символов Вот если бы схема там в тегах разворачивающихся была... то возможно[/offtop]
карма: 10
0
Ответов: 16884
Рейтинг: 1239
#35: 2010-04-03 14:26:23 ЛС | профиль | цитата
В предыдущем посте про SQLite (см.выше) при выполнении команды:
INSERT INTO newtable(fio, pasport_serija, pasport_nomer) VALUES('Иванов Иван Иванович', 'EO','12345678')
колонка god_rovdenija осталась пустой. Для заполнения или для исправления этой колонки служит команда
UPDATE
Формат команды:
UPDATE newtable SET  god_rovdenija=1990 WHERE (pasport_serija='EO') AND (pasport_nomer='12345678')
т.е. для WHERE выбираем поля заведомо не могущие совпасть у двух Ивановых Иванов Ивановичей, а если точно известен идентификатор записи (id), например 5, то можно и попроще
UPDATE newtable SET  god_rovdenija=1990 WHERE id=5
------------ Дoбавленo в 14.26:
Для удаления запис(и\ей) применяем команду
DELETE
DELETE FROM newtable
удаляет все записи из таблицы
DELETE FROM newtable WHERE id=5
удаляет запись с id=5, и все что было написано в UPDATE про WHERE можно применять и при DELETE FROM
DELETE FROM newtable с применением LIMIT - очень похоже на "русскую рулетку" и начинающему не нужно. ИМХО.

Знание этих четырех команд (CREATE TABLE, INSERT INTO, DELETE FROM, UPDATE ) вполне достаточно для начального администрирования БД.

[offtop]Сижу и думаю, как попроще описать SELECT [/offtop]



карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:Ravilr
Ответов: 5446
Рейтинг: 323
#36: 2010-04-03 15:43:41 ЛС | профиль | цитата
Tad, все тонкости Select-а не опишешь, да и вспомогательных ф-ций в SQLite дофига. Базовую формулу дай (что, откуда, каких, сколько) - и пусть дальше мануалы читает. Без чтения мануалов тут ну никак не обойтись.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#37: 2010-04-03 17:11:58 ЛС | профиль | цитата
iarspider писал(а):
все тонкости Select-а не опишешь
знаю. Очень ёмкая команда. То что без чтения не обойтись - это точно.

Итак SELECT
[offtop]Даже красным набрал.[/offtop]
Для тренировки запускаем выложенную выше прогу http://hiasm.com//getfile/17663
Запускаем её и выбираем файл БД ElementsDelphiElements.db.
Чтобы ничего не испортить - забудьте про кнопку Exec

Пользуемcя только кнопкой Query
Итак - выбрали файл ElementsDelphiElements.db.
Жмём Open.
В левом окне появился список таблиц.
Щелчек на elements - в таблице список всех элементов HiAsm, а в окне запросов (рядом с кнопкой Query) читаем
SELECT * FROM   elements
это и есть простейший запрос к БД ( по русски ВЫБРАТЬ все из таблицы элементов ) "*" это и есть "всё".Теперь вместо звездочки(*) наберём name
SELECT name FROM   elements
Жмем QUERY и в таблице только имена элементовДобавим имя еще одной колонки. Имена колонок перечисляются через запятую
SELECT name, info FROM   elements
Жмем QUERY и в таблице уже имена и информация элементов. Причем результат в том порядке в котором заданы имена колонок в запросе. Если нам в результирующей таблице нужны русские названия колонок, то запрос будет выглядеть так:
SELECT name AS Элемент , info AS Информация  FROM   elements
единственное, что нужно иметь ввиду, это если название состоит из нескольких слов, то вместо пробелов применяется знак подчеркивания. Т.е. info AS Информация_о_компоненте




------------ Дoбавленo в 17.04:
Попробуем соединить записи из двух(или более) таблиц
SELECT elements.name AS Элемент , elements.info AS Информация, groups.name AS Имя_вкладки, groups.info As Описание_вкладки   FROM   elements,groups WHERE elements.tab=groups.id
Для этого нужно в списке колонок (после слова SELECT) применить "точечную нотацию" имяТаблицы.имяКолонки и после слова FROM перечислить через запятую имена исходных таблиц, а после слова WHERE указать совпадающие колонки - в нашем случае elements.tab это не что иное как id вкладки в таблице groups
Если в конец запроса добавить ORDER BY имяКолонки, то записи будут отсортированы по данным этой колонки.

После слова SELECT можно применять встроенные в SQLite функции.
Например
SELECT count() FROM   elements
число записей в таблице elementsНу вот и всё.

Более подробно http://www.sqlite.org/lang.html
И здесь Синтаксис SQLite
------------ Дoбавленo в 17.11:
Assasin писал(а):
Все там оно вылазит, у тебя просто оно не должно как новое помечатсья

А я не запускаю Новое, я запускаю "Последние"
Должна быть сортировка по времени. ДОЛЖНА. А её НЕТ.

Обрати внимание на датувремя постов
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
3
файлы: 1sort.png [2KB] [259]
Голосовали:Леонид, Ravilr, Genius
Ответов: 5446
Рейтинг: 323
#38: 2010-04-03 17:59:41 ЛС | профиль | цитата
Tad, сейчас под рукой Hiasm-а нет, но вроде правильная запись -
SELECT count(*) FROM elements
?
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#39: 2010-04-03 18:21:09 ЛС | профиль | цитата
Можно и так и так
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1328
Рейтинг: 69
#40: 2010-04-03 18:23:53 ЛС | профиль | цитата
[flood]Tad, опередил, можно и ALL и имя столбца [/flood]
карма: 2

0
Ответов: 16884
Рейтинг: 1239
#41: 2010-04-03 19:20:07 ЛС | профиль | цитата
qwenkivy, а теперь осталось
1. определиться с структурой БД (количество таблиц и их имена)
2. определиться со структурой таблиц. ( количество и имена колонок.)
3. Порядок заполнения данными. Кто там приходит первым - ПРОДАВЕЦ или ПОКУПАТЕЛЬ ?
Что интересует ПОКУПАТЕЛЯ ? У нас МАРКА, МОДЕЛЬ, ЦВЕТ,... ПРОБЕГ ! и ЦЕНА !.

А у вас видно по другому - окна с пробегом я не увидел.
Пока (до печати документов) нужна форма на экране с таблицей
Марка | Модель | Цвет | Пробег | Цена
чтобы ПОКУПАТЕЛЬ мог из чего-то выбирать.
А потом уже его вести в отстойник на смотрины.
[offtop](и тоже вопрос: Как организовать? Выводить на экран сразу весь список
имеющихся автомобилей или по какому-то критерию?
Например: у одного покупателя - минимальная цена,
а другого цена не интересует - ему подай любую марку белого цвета,
третьего - марка или модель и т.д. )[/offtop]
Выбрал человек, что хочет, тогда можно. Можно и гос.номер, № шасси, двигателя и т.д.

Вобщем думай. Не знаю я ваших порядков.

------------ Дoбавленo в 19.11:
Konst, все что я написал выше (ИМХО) вполне достаточно чтобы создать БД и начать с ней работать. Всё остальное придёт с опытом.
------------ Дoбавленo в 19.20:
qwenkivy, как бы ты не решил делать прогу (с БД или без) вот тебе список цветов автомобилей.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1color.rar [1.2KB] [92]
Ответов: 1328
Рейтинг: 69
#42: 2010-04-03 19:39:21 ЛС | профиль | цитата
Tad, а в лайт можно 1 запросом выбрать данные с разных таблиц, например МАРКА, МОДЕЛЬ, ЦВЕТ находятся в разных таблицах?
карма: 2

0
Ответов: 16884
Рейтинг: 1239
#43: 2010-04-04 10:28:02 ЛС | профиль | цитата
Konst, так оно так и есть
Марка - Москвич,ВАЗ и т.д. - список марок - 1 таблица
Моделей - много - список моделей - 2-я таблца
Цвет - 3-я таблица цветов
Список автомобилей на продажу - 4-я таблица
и в этой (4-ой) поля: id-продавца, id-марка, id-модель и т.д. кроме даты продажи и может ещё чего.
И вместо id будут выводиться удобочитаемые нормальные имена
и формироваться любой документ будет 1-им запросом, наподобие предпоследнего в описании SELECT/

------------ Дoбавленo в 10.28:
Забыл ещё про одну очень полезную начинающим (и не только ) команду:
ALTER TABLE
ALTER TABLE имя_таблицы RENAME TO новое_имя_таблицы
переименовывает таблицу с сохранением всех данных и
ALTER TABLE имя_таблицы ADD имя_новой_колонки тип_данных_колонки
добавляет к таблице новую колонку с указанным типом данных.При этом нужно помнить, что добавляемая колонка не может быть определена как INTEGER PRIMARY KEY или UNIQUE (уникальные неповторяющиеся данные)

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:Konst
43
Сообщение
...
Прикрепленные файлы
(файлы не залиты)