4. Проблемы при работе с MS Access через TQuery.
Я безуспешно пытался использовать данные из Microsoft Access иначе, нежели просто с помощью
Измените в настройке псевдонима (alias) пункт 'SQLPASSTHRU MODE' на 'SHARED AUTOCOMMIT'.
5. Как создать таблицу при помощи SQL (или почему не работает TQuery.Open)?
6. Возврат значения select max() и подобных SQL-выражений.
Я хочу выполнить SQL-выражение и получить результат в свою переменную, что-то типа
SELECT MAV(FieldA) FROM TableB INTO :VariableC;
Вам не нужно использовать оператор INTO для программного доступа к результату — его можно получить используя свойства
TQuery1.Add(' SELECT MAX(FiledA) FROM TableB ');
TQuery.Open;
...
VariableC := TQuery1.Fields[0];
Или, если результат нужно визуально отобразить, достаточно подключить к используемому
7. Автоматический подсчет сумм при помощи TQuery.
Меня интересует возможность подсчета суммы по таблицам, которые уже находятся на форме.
Есть очень простой способ — предположим, что у вас есть на форме
SELECT SUM(FieldName) FROM TableName
где
При изменении
Для подсчета сумм правильнее использовать событие
8. Использование кавычек в параметризированном запросе.
Мой запрос получает параметр. Проблема в том, что строка параметра содержит " (двойную кавычку), которая приводит к Runtime Error.
Вам необходимо использовать динамический SQL-запрос, иначе при указании например
WHERE TABLE.FIELD = 'let"ter'
вы получите ошибку.
9. Как создать отдельный компонент TTable?
Легко и просто — точно также как и обычный компонент. При этом в качестве параметра конструктору можно передавать значение nil.
var
MyTable: TTable;
begin
MyTable := TTable.Create(nil);
try
MyTable.DatabaseName := 'MyDB';
MyTable.TableName := 'MyTable.db';
Mytable.IndexName := 'MyIndex';
MyTable.Open;
finally
MyTable.Free;
end;
end;
10. Как узнать, какая ячейка при просмотре TDBGrid текущая?
Здесь процедура для сохранения текущего номера строки и колонки. Следующий код в методе
var
Col, Row: Integer;
procedure TForm1.MyDBGridDrawDataCell(Sender: TObject; const Rect: TRect;