лучше подскажите как сделать проверку при открытии программы, есть ли база данных. Элемент если нет базы создает ее. Мне надо чтоб если базы с указанным именем нет, вылазила ошибка
code_32026.txt
Этот топик читают: Гость
Ответов: 257
Рейтинг: -2
|
|||
карма: 0 |
| ||
файлы: 1 | code_32026.txt [153B] [115] |
Ответов: 1061
Рейтинг: 22
|
|||
Сделай поиск/проверку присутствия файла БД перед открытием БД!
------------ Дoбавленo в 14.56: если это SQLite!) |
|||
карма: 0 |
|
Ответов: 257
Рейтинг: -2
|
|||
круто. пример бы
|
|||
карма: 0 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
mudfactory писал(а): Мне надо чтоб если базы с указанным именем нет, вылазила ошибкаИспользуй один из этих элементов для проверки наличия файла
|
|||
карма: 22 |
|
Ответов: 257
Рейтинг: -2
|
|||
я уже сделал вот так
code_32027.txt сейчас до запросов дойду, замучаю) ------------ Дoбавленo в 15.29: вот такая фигня, про кодировку. Компонент для этого я знаю, но как сделать чтоб только нужные мне данные в запросе конвертировались в utf-8? Данные из нескольких полей на кирилице, потом с помощью форматирования по маске создается запрос. К каждому полю прикручивать конвертирование перед тем как отправлять их все компоненту форматирование по маске?
|
|||
карма: 0 |
| ||
файлы: 1 | code_32027.txt [4.4KB] [127] |
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
mudfactory писал(а): но как сделать чтоб только нужные мне данные в запросе конвертировались в utf-8?Нафига, конвертируй весь запрос. Английские символы не переконвертятся, а останутся "как есть" |
|||
карма: 22 |
|
Ответов: 257
Рейтинг: -2
|
|||
карма: 0 |
| ||
файлы: 1 | code_32029.txt [2.6KB] [122] |
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
mudfactory писал(а): че то не работаетА где там вообще открытие базы Да и конвертить надо не только при добавлении, но обратно, при чтении |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Глянул. Полный...
1. Не надо проверять Select-ом есть таблица или нет. Для этого существует конструкция CREATE TABLE IF NOT EXISTS Clients(
которая проверит и, если нет, создаст.
id INTEGER PRIMARY KEY, Familiya char(25), Imya char(25), Telefon char(15), Tehnika char(25), Prim char(255)); 2. Не надо ставить во главу угла StringTable и выводить в неё данные всех клиентов с 1017 года. Сначала задай себе вопрос - Кто тебе нужен ? Тебе нужен Петя? Ну и выведи всех начинающихся на букву "П". Глаза жалеть надо. 3. И не бойся, что mudfactory писал(а): тогда таблица заказы будет очень большая. Чем занимаетесь ? Развозкой пиццы или букетов ? |
|||
карма: 25 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
[offtop]
Tad писал(а): Развозкой пиццы или букетов ?Мороженого, много, даром, и чтоб никто не ушел обиженным (Почти БС) [/offtop] |
|||
карма: 22 |
|
Ответов: 257
Рейтинг: -2
|
|||
Посмотри плиз, нормально?
code_32031.txt Тут в одном окне должно быть и добавление и удаление и поиск по значению тех полей что там есть - вот это самое сложное... ------------ Дoбавленo в 16.13: Tad писал(а): Чем занимаетесь ? Развозкой пиццы или букетов ?почти угадал) www.mudfactory.ru |
|||
карма: 0 |
| ||
файлы: 1 | code_32031.txt [5KB] [114] |
Ответов: 16884
Рейтинг: 1239
|
|||
code_32034.txt
------------ Дoбавленo в 19.00: Набей БД и выложи - покажу как сделать выборку. ------------ Дoбавленo в 20.36: mudfactory писал(а): www.mudfactory.ru |
|||
карма: 25 |
| ||
файлы: 1 | code_32034.txt [7.8KB] [131] |
Ответов: 5446
Рейтинг: 323
|
|||
[offtop] Tad, твоё счастье что ты YogsCast не смотрел [/offtop]
|
|||
карма: 1 |
|
Ответов: 257
Рейтинг: -2
|
|||
пока я не натворил делов, чем принципиально отличается rowid от id INTEGER PRIMARY KEY?
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
mudfactory писал(а): чем принципиально отличается rowid от id ROWIDs and the INTEGER PRIMARY KEY
Every row of every SQLite table has a 64-bit signed integer key that uniquely identifies the row within its table. This integer is usually called the "rowid". The rowid value can be accessed using one of the special case-independent names "rowid", "oid", or "_rowid_" in place of a column name. If a table contains a user defined column named "rowid", "oid" or "_rowid_", then that name always refers the explicitly declared column and cannot be used to retrieve the integer rowid value. The data for each table in SQLite is stored as a B-Tree structure containing an entry for each table row, using the rowid value as the key. This means that retrieving or sorting records by rowid is fast. Searching for a record with a specific rowid, or for all records with rowids within a specified range is around twice as fast as a similar search made by specifying any other PRIMARY KEY or indexed value. With one exception, if a table has a primary key that consists of a single column, and the declared type of that column is "INTEGER" in any mixture of upper and lower case, then the column becomes an alias for the rowid. Such a column is usually referred to as an "integer primary key". A PRIMARY KEY column only becomes an integer primary key if the declared type name is exactly "INTEGER". Other integer type names like "INT" or "BIGINT" or "SHORT INTEGER" or "UNSIGNED INTEGER" causes the primary key column to behave as an ordinary table column with integer affinity and a unique index, not as an alias for the rowid. The exception mentioned above is that if the declaration of a column with declared type "INTEGER" includes an "PRIMARY KEY DESC" clause, it does not become an alias for the rowid and is not classified as an integer primary key. This quirk is not by design. It is due to a bug in early versions of SQLite. But fixing the bug could result in very serious backwards incompatibilities. The SQLite developers feel that goofy behavior in a corner case is far better than a compatibility break, so the original behavior is retained. This means that the following three table declarations all cause the column "x" to be an alias for the rowid (an integer primary key): •CREATE TABLE t(x INTEGER PRIMARY KEY ASC, y, z); •CREATE TABLE t(x INTEGER, y, z, PRIMARY KEY(x ASC)); •CREATE TABLE t(x INTEGER, y, z, PRIMARY KEY(x DESC)); But the following declaration does not result in "x" being an alias for the rowid: •CREATE TABLE t(x INTEGER PRIMARY KEY DESC, y, z); Rowid values may be modified using an UPDATE statement in the same way as any other column value can, either using one of the built-in aliases ("rowid", "oid" or "_rowid_") or by using an alias created by an integer primary key. Similarly, an INSERT statement may provide a value to use as the rowid for each row inserted. Unlike normal SQLite columns, an integer primary key or rowid column must contain integer values. Integer primary key or rowid columns are not able to hold floating point values, strings, BLOBs, or NULLs. If an UPDATE statement attempts to set an integer primary key or rowid column to a NULL or blob value, or to a string or real value that cannot be losslessly converted to an integer, a "datatype mismatch" error occurs and the statement is aborted. If an INSERT statement attempts to insert a blob value, or a string or real value that cannot be losslessly converted to an integer into an integer primary key or rowid column, a "datatype mismatch" error occurs and the statement is aborted. If an INSERT statement attempts to insert a NULL value into a rowid or integer primary key column, the system chooses an integer value to use as the rowid automatically. A detailed description of how this is done is provided separately. The parent key of a foreign key constraint is not allowed to use the rowid. The parent key must used named columns only. |
|||
карма: 25 |
|