Найдено 212 результатов

ViktorV
Пт 20 ноя 2015 16:50
Форум: Universal Data Access Components
Тема: Assert при Refresh после Post
Ответы: 5
Просмотры: 5267

Re: Assert при Refresh после Post

Мы уже пофиксили данный баг. Данное исправление войдет в следующий билд UniDAC.
ViktorV
Ср 28 окт 2015 11:16
Форум: MySQL Data Access Components
Тема: поиск по нескольким полям
Ответы: 7
Просмотры: 19935

Re: поиск по нескольким полям

Вы можете задавать вопросы на английском языке на нашем англоязычном форуме: http://forums.devart.com/
ViktorV
Ср 28 окт 2015 10:21
Форум: MySQL Data Access Components
Тема: поиск по нескольким полям
Ответы: 7
Просмотры: 19935

Re: поиск по нескольким полям

Да, вы правы: при использовании свойства TMyQuery.Filter клиент вычитывает все данные, удовлетворяющие запросу, и фильтрация происходит локально, а при использовании свойства TMyQuery.FilterSQL фильтрация происходит на стороне сервера. Вопрос по использованию индексов не относится к функциональности MyDAC. Для его решения, пожалуйста, обратитесь к документации MySQL сервера: http://www.mysql.ru/docs/man/MySQL_indexes.html
ViktorV
Вт 27 окт 2015 16:48
Форум: MySQL Data Access Components
Тема: поиск по нескольким полям
Ответы: 7
Просмотры: 19935

Re: поиск по нескольким полям

bex007 писал(а):как работает filter с index ?
Индексы сервера используются для сортировки и поиска данных на стороне сервера автоматически, например, при выполнении запроса с конструкциями WHERE, ORDER BY, и т.д. Поэтому при использовании свойство TMyQuery.FilterSQL индексы будут использоваться на стороне сервера. Клиент же не может использовать индексы сервера. Таким образом, при использовании локальной фильтрации мы не используем индексы сервера.
ViktorV
Вт 27 окт 2015 15:52
Форум: MySQL Data Access Components
Тема: поиск по нескольким полям
Ответы: 7
Просмотры: 19935

Re: поиск по нескольким полям

bex007 писал(а):Это правилная решения?

Код: Выделить всё

try
myquery1.Filtered:=true;
myquery1.Filter:='';

if edit1.Text<>'' then  begin
myquery1.Filter:=' id='''+edit1.text+''' ';
end;

if edit2.Text<>'' then  begin
if myquery1.Filter='' then  myquery1.Filter:=' username='''+edit2.Text+''' ';
if myquery1.Filter<>'' then  myquery1.Filter:=myquery1.Filter+ ' and username='''+edit2.Text+''' ';
end;

myquery1.close;
myquery1.SQL.Clear;
myquery1.SQL.Text:='SELECT * FROM users';
myquery1.Open;
except
on E: exception do
showmessage(E.Message);
end;

myquery1.Refresh;
MyDataSource1.DataSet.Refresh;
DBGrid1.Refresh;
Вы привели работоспособное применение локальной фильтрации на клиенте. Обратите внимание, при использовании локального фильтра с сервера вычитываются все данные и только после этого происходит локальная фильтрация на клиенте. Вы можете использовать свойство TMyQuery.FilterSQL, чтобы использовать фильтрацию на стороне сервера. В этом случае, при открытии набора данных, условие фильтра будет добавлено к сгенерированному запросу и только необходимое количество записей будет возвращено.
ViktorV
Пн 05 окт 2015 09:39
Форум: MySQL Data Access Components
Тема: Lst connection ->connect=erorr
Ответы: 5
Просмотры: 20069

Re: Lst connection ->connect=erorr

1. Чтобы использовать обработчик события OnConnectionLost, вы должны добавить модуль MemData в раздел uses Вашего модуля.
2. В вашем примере неправильно определен созданный вами обработчик события OnConnectionLost. Вам следует заменить:

Код: Выделить всё

procedure MyDB1ConnectionLost(Sender: TObject); 
на:

Код: Выделить всё

procedure MyDB1ConnectionLost(Sender: TObject; Component: TComponent;
      ConnLostCause: TConnLostCause; var RetryMode: TRetryMode
);
и соответственно:

Код: Выделить всё

procedure TForm1.MyDB1ConnectionLost(Sender: TObject);
begin
  RetryMode = rmReconnectExecute;
end;
на:

Код: Выделить всё

procedure TForm1.MyDB1ConnectionLost(Sender: TObject; Component: TComponent;
  ConnLostCause: TConnLostCause; var RetryMode: TRetryMode);
begin
  RetryMode = rmReconnectExecute;
end;
3. В процедуре TForm1.FormCreate вам следует присвоить обработчику события OnConnectionLost компонента TMyConnection созданный вами обработчик:

Код: Выделить всё

  MyDB1.OnConnectionLost := MyDB1ConnectionLo
st;
Для корректного использования обработчика событий OnConnectionLost Вам следует изменить свой пример следующим образом:

Код: Выделить всё

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBAccess, MyAccess, MemDS, MemData;

type
TForm1 = class(TForm)
MyDB1: TMyConnection;
Myq1: TMyQuery;
Myq2: TMyQuery;
Mys1: TMyDataSource;
Mys2: TMyDataSource;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure FormClick(Sender: TObject);
procedure MyDB1ConnectionLost(Sender: TObject; Component: TComponent;
  ConnLostCause: TConnLostCause; var RetryMode: TRetryMode);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  //MyDB1.LoginPrompt := False;
  MyDB1.OnConnectionLost := MyDB1ConnectionLost;
  MyDB1.Options.LocalFailover:=True;
  MyDB1.Options.Charset := 'cp1251';
  MyDB1.Server := '4.101.152.112';
  MyDB1.Port := 3306;
  MyDB1.Database := 'v91490ey_video';
  MyDB1.Username := 'v91490ey_video';
  MyDB1.Password := '455555';
  try
   MyDB1.Open
  except
    ShowMessage('Не удалось установить соединение');
    Exit;
  end;
  Myq1.Open;
  Myq2.Open;
end;

procedure TForm1.FormClick(Sender: TObject);
begin
  MyDB1.Open
end;

procedure TForm1.MyDB1ConnectionLost(Sender: TObject; Component: TComponent;
  ConnLostCause: TConnLostCause; var RetryMode: TRetryMode);
begin
  RetryMode = rmReconnectExecute;
end;

end.
ViktorV
Чт 02 июл 2015 10:46
Форум: Universal Data Access Components
Тема: unidac storedprocedure вызов процедуры mysql
Ответы: 3
Просмотры: 4091

Re: unidac storedprocedure вызов процедуры mysql

Рады слышать, что проблема решена.
Обращайтесь к нам, если у Вас возникнут вопросы по UniDAC.
ViktorV
Вт 30 июн 2015 11:31
Форум: MySQL Data Access Components
Тема: Как добавить Progressbar?
Ответы: 1
Просмотры: 14701

Re: Как добавить Progressbar?

Данный вопрос не относится к MyDAC функциональности. Для его решения, пожалуйста, обратитесь к документации Embarcadero.
ViktorV
Вт 30 июн 2015 11:30
Форум: Universal Data Access Components
Тема: unidac storedprocedure вызов процедуры mysql
Ответы: 3
Просмотры: 4091

Re: unidac storedprocedure вызов процедуры mysql

К сожалению, мы не смогли воспроизвести проблему.
Пожалуйста, проверьте воспроизводится ли проблема на нашем UniDacDemo проекте, на вкладке 'Working with components\StoredProc'. Этот проект можно найти в папке в папке 'Demos\UniDacDemo' относительно пути, куда были проинсталлированы демо проекты UniDAC.
ViktorV
Чт 25 июн 2015 10:47
Форум: MySQL Data Access Components
Тема: Как сделать запрос с динамическими переменными?
Ответы: 9
Просмотры: 23378

Re: Как сделать запрос с динамическими переменными?

Данный вопрос относится к функциональности FastReport, а не к MyDAC. Для его решения, пожалуйста, обратитесь к документации FastReport.
ViktorV
Вт 23 июн 2015 10:33
Форум: MySQL Data Access Components
Тема: Искаженное сообщение об ошибке 10061
Ответы: 5
Просмотры: 18128

Re: Искаженное сообщение об ошибке 10061

Новый билд MyDAC с исправлением некорректного отображения сообщения об ошибке о невозможности подключения к MySQL серверу доступен для скачивания.
ViktorV
Вт 23 июн 2015 09:29
Форум: MySQL Data Access Components
Тема: Как сделать запрос с динамическими переменными?
Ответы: 9
Просмотры: 23378

Re: Как сделать запрос с динамическими переменными?

Данный вопрос относится построению архитектуры вашего приложения, а не к MyDAC функциональности. Для его решения, пожалуйста, задайте соответствующий вопрос на профильных форумах.
ViktorV
Вт 23 июн 2015 09:28
Форум: MySQL Data Access Components
Тема: zerofill не работает
Ответы: 3
Просмотры: 14705

Re: zerofill не работает

Вы нашли правильное решение для корректного вывода zerofill int поля.
ViktorV
Ср 17 июн 2015 09:58
Форум: MySQL Data Access Components
Тема: Как сделать запрос с динамическими переменными?
Ответы: 9
Просмотры: 23378

Re: Как сделать запрос с динамическими переменными?

Обращайтесь к нам, если у Вас возникнут вопросы по MyDAC.
ViktorV
Вт 16 июн 2015 12:07
Форум: MySQL Data Access Components
Тема: Как сделать запрос с динамическими переменными?
Ответы: 9
Просмотры: 23378

Re: Как сделать запрос с динамическими переменными?

Прошу прощение за неточность в примере приведенном в предыдущем посте. Для корректной работы примера, пожалуйста, замените строку

Код: Выделить всё

  MyQuery1.SQL.Text := MyQuery1.SQL.Text := 'UPDATE tickets SET status = 1 WHERE seat IN (&ARRAY)';
на следующую

Код: Выделить всё

  MyQuery1.SQL.Text := 'UPDATE tickets SET status = 1 WHERE seat IN (&ARRAY)';