Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

Тут можно читать онлайн Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Советы по Delphi. Версия 1.4.3 от 1.1.2001
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 краткое содержание

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

…начиная с 1001. Смотрите другие файлы…

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать онлайн бесплатно полную версию (весь текст целиком)

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать книгу онлайн бесплатно, автор Валентин Озеров
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

NAMES, NATIONAL, NATURAL, NCHAR, NO, NOT, NULL, NUM_LOG_BUFFERS, NUMERIC

OF, ON, ONLY, OPTION, OR, ORDER, OUTER, OUTPUT_TYPE, OVERFLOW

PAGE_SIZE, PAGE, PAGES, PARAMETER, PASSWORD, PLAN, POSITION, POST_EVENT, PRECISION, PROCEDURE, PROTECTED, PRIMARY, PRIVILEGES

RAW_PARTITIONS, RDB$DB_KEY, READ, REAL, RECORD_VERSION, REFERENCES, RESERV, RESERVING, RETAIN, RETURNING_VALUES, RETURNS, REVOKE, RIGHT, ROLLBACK

SECOND, SEGMENT, SELECT, SET, SHARED, SHADOW, SCHEMA, SINGULAR, SIZE, SMALLINT, SNAPSHOT, SOME, SORT, SQLCODE, STABILITY, STARTING, STARTS, STATISTICS, SUB_TYPE, SUBSTRING, SUM, SUSPEND

TABLE, THEN, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, TO, TRAILING, TRANSACTION, TRIGGER, TRIM

UNCOMMITTED, UNION, UNIQUE, UPDATE, UPPER, USER

VALUE, VALUES, VARCHAR, VARIABLE, VARYING, VIEW

WAIT, WHEN, WHERE, WHILE, WITH, WORK, WRITE

YEAR

Операторы:

||, –, *, /, <>, <, >, ,(запятая), =, <=, >=, ~=, !=, ^=, (, )

Сиротские Master-записи

Как с помощью SQL найти записи таблицы, которых нет в другой таблице?

Вот пример:

withPeopleHiddenForm.PersonQuery.SQL do begin

Add('Select P.Last, P.First, P.Middle, P."Suffix", P.KeyNo, COUNT(PersMemL.PersonKeyNo)');

Add('From Person P Left Outer Join ');

Add(' PersMemL PersMemL');

Add('On ((P.KeyNo = PersMemL.PersonKeyNo))');

Add('Group By P.Last, P.First, P.Middle, P.Suffix, P.KeyNo');

Add('Having ((Count(PersmemL.PersonKeyNo) = 0))');

Данный код позволяет связаться с таблицей (PersMemL), содержащей количество ключей персональной записи и запись членства. Запрос возвращает имена персон, которые не имеют записей членства.

На практике этот способ оказывается очень эффективным, по крайней мере, с локальным SQL в таблицах Paradox.

David G. Wachtel

Назначение SQL-счетчика переменной

Delphi 1

query.Close;

query.SQL.Clear;

query.SQL.Add('select count(*) from table where field = :XXX');

Query.ParamByName('XXX').AsString := value;

query.Open;

whileQuery.Eof <> True do begin

SqlCount := Query.Fields[0].AsInteger;

Query.Next

end;

Подразумевается наличие компонентов TTable, TQuery, TStoredProc

Объявление

propertyRecordCount: Longint;

Описание

Времени исполнения и только для чтения. Свойство RecordCount определяет количество записей в наборе данных. Количество возвращаемых записей может зависеть от сервера и не зависит от границ задаваемого диапазона.

Как удобнее работать с динамически формируемыми запросами?

Nomadicсоветует:

В процессе работы с БД иногда необходимо выполнить какие-то мелкие запросы. Держать для этого где-то временную Query меня лично ломает, посему ловите творение (под Delphi) — модуль для создания временных TQuery и работы с ними.

примеры использования:

varS: string;

S := FastLookUp(format('select A.F1 from A,B where A.F4=B.F4 and B.F9=%d', [1]));

withGiveMeResultSet( 'select*from A where F1="777"' ) do try

……

finally

Free; {не забудьте!}

end;

if NOT ExecuteSQL('delete from A') thenShowMessage('Something Wrong');

……

Сам модуль идёт ниже —

{

Temporary Queries Creatin' and handlin'

(c) 1997-98 by Volok Alexander (D1/D2)

creation date: 30.10.1997

last update : 17.06.1998

}

unitTmpQuery;

interface

usesDBTables;

constInternalDBname = 'MAIN'; {Изменять по вкусу - TDataBase.DataBaseName}

typeTSQLScript = {$IFDEF WIN32} string{$ELSE} PChar {$ENDIF};

{Создаст куери с текстом запроса, но не откроет его}

functionCreateTempQuery(SQLscript: TSQLscript): TQuery;

{Создаст куери и откроет запрос - не забудьте прибить}

functionGiveMeResultSET(SQLscript: TSQLscript): TQuery;

{Проверит непустоту выборки, заданной ...}

functionCheckExistence(SQLscript: TSQLscript): boolean;

{Вытащит аж одно значение(лукап) из выборки, заданной ...}

functionFastLookUP(SQLscript: TSQLscript): string;

{Выполнит запрос и сообщит результат}

functionExecuteSQL(SQLscript: TSQLscript): boolean;

implementation

usesForms;

functionCreateTempQuery(SQLscript: TSQLscript): TQuery;

begin

Result:= TQuery.Create(Application);

withResult do begin

DatabaseName := InternalDBname;

{$IFDEF WIN32}

SQL.Text := SQLscript;

{$ELSE}

SQL.SetText(SQLscript);

{$ENDIF}

end;

end;

functionExecuteSQL(SQLscript: TSQLscript): boolean;

begin

withCreateTempQuery(SQLscript) do begin

try

ExecSQL;

Result := True;

except

Result := False;

end;

Free;

end;

end;

functionCheckExistence(SQLscript: TSQLscript): boolean;

begin

withGiveMeResultSET(SQLscript) do begin

Result := NOTEOF;

Free;

end;

end;

functionGiveMeResultSET(SQLscript: TSQLscript): TQuery;

begin

Result := CreateTempQuery(SQLscript);

withResult do try

Open;

except

Free;

Result:= NIL;

end;

end;

functionFastLookUP(SQLscript: TSQLscript): string;

begin

withGiveMeResultSET(SQLscript) do begin

try

Result:= Fields[0].AsString;

except

Result:= '';

end;

Free;

end;

end;

end.

Поиск записи в SQL DataSet

Delphi 1

В случае изменения содержимого полей редактирования сделайте следующее:

Query1.Close;

Query1.SQL.Clear;

Query1.SQL.Add('SELECT * FROM <���таблица>WHERE <���поле>LIKE ''' + SpeedEdit.Text + '*''');

Query1.Open;

Будут возвращены все записи, указанные в поле редактирования.

При попытке выполнения такого оператора SQL – 'DELETE from T39 T39C0 WHERE T39C0.F1LHT35=253291661' SQL-сервер ругается на недопустимый синтаксис. В чем я неправ?

Nomadicотвечает:

В данном случае, видимо, T39C0 расценивается как псевдоним. Hо стандартом SQL-92 такое запрещено в DELETE.

Цитата собственно из этого стандарта (сборник из delete и names and identifiers, определение identifier пропущено, просто набор | , начинается с буквы):

Format ::= delete from

where current of ::= |

::= [] []

::=

::=[]

::=

::=

::= MODULE

::=

Стандартом запрещено вот такое

select test.a, p_test.a from test p_test;

вот это не по стандарту, хотя Microsoft SQL Server такое ест.

Поиск с помощью SQL

Delphi 1

Предположим:

1. если вашей таблицы определены следующие поля…

last_name char (n),

first_name char (n)

то…

select

last_name+', '+first_name

from

person

where

first_name='john'

2. если вашей таблицы определены следующие поля…

person_name char (n) (например, Lennon, John)

то…

select

person_name

from

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

Валентин Озеров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Советы по Delphi. Версия 1.4.3 от 1.1.2001 отзывы


Отзывы читателей о книге Советы по Delphi. Версия 1.4.3 от 1.1.2001, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x