vitaly_l писал(а):Не слушайте
Кхе, предлагаете не слушать человека с опытом 8+, а слушать вас. Причем вы даже абзац статьи в 10 строчек не может перевести.
Модератор: Модераторы
vitaly_l писал(а):Не слушайте
resident писал(а):Кхе, предлагаете не слушать человека с опытом 8+, а слушать вас. Причем вы даже абзац статьи в 10 строчек не может перевести.
vitaly_l писал(а):А что я разве ошибся при переводе?
vitaly_l писал(а): Там, если я правильно перевёл, предлагается при отсутствии авто-индекса его сделать и только потом делать запрос к базе, если нужно её обрабатывать.
have a set of fields that uniquely determine the record. Normally, they should be part of a unique index. This is not required, but will speed up the queries quite a lot
vitaly_l писал(а):И почему Вы верите не разработчикам, а пользователю с опытом 8+?
vitaly_l писал(а):Разработчики Лазарус зачем эти функции сделали?
resident писал(а):Как это не использовать?
resident писал(а):Таблица может и не иметь первичного ключа, но может иметь набор полей, уникальный для записи. И по нормальному эти поля должны входить в уникальный ключ.
Снег Север писал(а):Таблицы без автоинкрементного ключа используем только для временного хранения немногих записей, такие таблицы постоянно очищаются полностью. Там в роли уникального ключа выступает сочетание данных нескольких полей.
resident писал(а):Таблица может и не иметь первичного ключа, но может иметь набор полей, уникальный для записи. И по нормальному эти поля должны входить в уникальный ключ.
resident писал(а):Разработчики Лазарус - ворьё! Это все скопировано с Delphi от и до. Я сейчас изучаю базы данных по Delphi книгам и я еще не встретил в базах данных ничего, что было бы от "разработчиков Лазарус".
SQLQuery.Active := false;
SQLQuery.UsePrimaryKeyAsKey := true;
SQLQuery.UpdateMode := upWhereAll;
vitaly_l писал(а):Именно про такие я и говорил. Но судя по Вашему ответу Вы просто никогда их не перезаписывали и поэтому почему-то стали утверждать, что это вообще невозможно
vitaly_l писал(а):как эти поля ей задать...
Снег Север писал(а):Вы удивительно плохо понимаете написанные тексты.
Снег Север писал(а):Задается, как правило, при создании таблицы.
vitaly_l писал(а):если в запросе выводится ID, то SQLQuery.ApplyUpdates всё сохраняет и всё работает.
sign писал(а):Только запросы к базе, только SQL код - SELECT, INSERT, UPDATE, REPLACE, что позволяет на 100% контролировать происходящее и пилювать, что там в каком языке придумали.
vitaly_l писал(а):Вот только примера нет, как эти поля ей задать... там ведь несколько нужно. Через запятую? В кавычках? В квадратных скобках?
qrTable.FieldByName('abracadabra').ProviderFlags := [pfInkey, pfInWhere, pfInUpdate];
vitaly_l писал(а):т.к. иерархия, организация структуры и принцип работы разный
vitaly_l писал(а):Понятие Providerflags - там напрочь отсутствует (в смысле первая часть описания ложная).
UsePrimaryKeyAsKey := true
i, j: integer;
s: string;
s := '';
with qrQuery1 do
for i := 0 to Pred(FieldCount) do
begin
S := Fields[i].FieldName + ' >>> ';
if pfInkey in Fields[i].ProviderFlags then S := S + ' pfInkey';
if pfInWhere in Fields[i].ProviderFlags then S := S + ' pfInWhere';
if pfInUpdate in Fields[i].ProviderFlags then S := S + ' pfInUpdate';
if pfHidden in Fields[i].ProviderFlags then S := S + ' pfHidden';
if pfRefreshOnInsert in Fields[i].ProviderFlags then S := S + ' pfRefreshOnInsert';
if pfRefreshOnUpdate in Fields[i].ProviderFlags then S := S + ' pfRefreshOnUpdate';
ShowMessage(S);
end;
Снег Север писал(а): А через автозапрос компонента - нет, потому что это называется удалять гланды через анус.
vitaly_l писал(а):Поэтому если есть какие-то сбои или предпосылки к ним, при использовании ApplyUpdates или autocommit, то расскажите о них: пожалуйста.
resident писал(а):qrTable.FieldByName('abracadabra').ProviderFlags := [pfInkey, pfInWhere, pfInUpdate];
if pfInkey in Fields[i].ProviderFlags then ...
resident писал(а):С 1.6 всё хорошо пока
SELECT oid,* FROM table
- Код: Выделить всё
SQLQuery.UsePrimaryKeyAsKey := true;
debi12345 писал(а):если БД на PostgreSQL и таблица создана без извратов (не запрещая OID), то можно вытащить поле с дополнительным полем IOD
debi12345 писал(а):Это если БД-драйвер конкретной БД смог найти и опознать этот первичный ключ-индекс -который к тому же может быть создан без указания что он первичный ключ.
могу как-то опираться на этот `i_abc` индекс из SQLQuery или он работает только на стороне базы
debi12345 писал(а):Это если БД-драйвер конкретной БД смог найти и опознать этот первичный ключ-индекс -который к тому же может быть создан без указания что он первичный ключ.
Я бы такую фишку не закладывался
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 240