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

bex007
Чт 03 дек 2015 13:40
Форум: MySQL Data Access Components
Тема: Как правильно сделать myquery запрос?
Ответы: 1
Просмотры: 11361

Как правильно сделать myquery запрос?

Доброе утро! Я хочу в одном кнопке сделать два разный запроса, как это сделать правильно?

1. с двумя myquery?

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

try
myquery1.close;
myquery1.SQL.Clear;
myquery1.SQL.Text:='INSERT INTO `users` (`name`, `surname` ) VALUES ( '''+edit1.Text+''', '''+edit2.Text+''')';
myquery1.execute;
except
on E: exception do
showmessage(E.Message);
end;

try
myquery2.close;
myquery2.SQL.Clear;
myquery2.SQL.Text:='INSERT INTO `workdays` (`monday`, `tuesday`) VALUES  ( 0, 0)';
myquery2.execute;
except
on E: exception do
showmessage(E.Message);
end;
или

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

try
myquery1.close;
myquery1.SQL.Clear;
myquery1.SQL.Text:='INSERT INTO `users` (`name`, `surname` ) VALUES ( '''+edit1.Text+''', '''+edit2.Text+''')';
myquery1.execute;
myquery1.SQL.Clear;
myquery1.SQL.Add('INSERT INTO `workdays` (`monday`, `tuesday`) VALUES  ( 0, 0)');
myquery1.ExecSQL;
except
on E: exception do
showmessage(E.Message);
end;

bex007
Вт 27 окт 2015 21:58
Форум: MySQL Data Access Components
Тема: поиск по нескольким полям
Ответы: 7
Просмотры: 15749

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

Спасибо за ответ :) Как я понял во время использование myquery1.Filter клиент читает все базу и потом фильтрует локально? а TMyQuery.FilterSQL фильтрует прямо на сервере? Когда применяется TMyQuery.FilterSQL как индексы можно использовать? надо прописать в запросе или он сам создает индексирование запроси к базе? просто у меня Большая база данных. простите за мой русски :)
bex007
Сб 24 окт 2015 07:58
Форум: MySQL Data Access Components
Тема: поиск по нескольким полям
Ответы: 7
Просмотры: 15749

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

как работает filter с index ?
bex007
Пт 23 окт 2015 17:00
Форум: MySQL Data Access Components
Тема: поиск по нескольким полям
Ответы: 7
Просмотры: 15749

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

Это правилная решения?

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

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;
bex007
Пт 23 окт 2015 15:33
Форум: MySQL Data Access Components
Тема: поиск по нескольким полям
Ответы: 7
Просмотры: 15749

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

как сделать поиск по нескольким полям в базу? у меня на форме есть 2 edit-а имя и фамилия, хочу чтоб искал с обоями параметрами вместе и по отдельности тоже. как работать с фильтрами?
bex007
Пт 26 июн 2015 12:40
Форум: MySQL Data Access Components
Тема: Как добавить Progressbar?
Ответы: 1
Просмотры: 11825

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

Как здесь добавить Progressbar? :?

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

try
MyQuery1.close;
MyQuery1.SQL.Clear;
MyQuery1.SQL.Text:='INSERT INTO tickets (`seat`, `status`, ) VALUES (:seat, 1)';

MyQuery1.Prepare;
  if not MyConnection1.InTransaction then
    MyConnection1.StartTransaction;
  try
    for i := 1 to 795 do begin
     MyQuery1.ParamByName('seat').AsString := IntToStr(i);

        MyQuery1.Execute;
        end;
 MyConnection1.Commit;
  except
    MyConnection1.Rollback;
    raise;
  end;

   except
on E: exception do
showmessage(E.Message);
end;
bex007
Вт 23 июн 2015 17:10
Форум: MySQL Data Access Components
Тема: Как сделать запрос с динамическими переменными?
Ответы: 9
Просмотры: 18815

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

С этим я уже разобрался! мне интересно как распечатать в цикле содержимое myquery1

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

try
myquery1.close;
myquery1.SQL.Clear;
myquery1.SQL.Text:='SELECT `id`, `date`, `time`,  FROM tickets WHERE seat IN (&ARRAY)';
ArrayStr := '';
  for i:= 0 to Memo1.Lines.Count - 1 do begin
    if ArrayStr <> '' then
      ArrayStr := ArrayStr + ',';
    ArrayStr := ArrayStr + QuotedStr(Memo1.Lines[i]);
  end;
  MyQuery1.MacroByName('ARRAY').Value := ArrayStr;
  myquery1.open;

frxreport1.PrepareReport;
FrxReport1.PrintOptions.ShowDialog:=false;
frxreport1.Print;

except
on E: exception do
showmessage(E.Message);
end;
так печатает только первое значение :?
bex007
Вт 23 июн 2015 13:23
Форум: MySQL Data Access Components
Тема: zerofill не работает
Ответы: 3
Просмотры: 13503

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

Спасибо :)
bex007
Пн 22 июн 2015 22:02
Форум: MySQL Data Access Components
Тема: Как сделать запрос с динамическими переменными?
Ответы: 9
Просмотры: 18815

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

у меня еще один вопрос , у меня есть такой код

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

try
MyQuery1.close;
MyQuery1.SQL.Clear;
MyQuery1.SQL.Text:='INSERT INTO tickets (`id`, `seat`, `sector`) VALUES (NULL, :seat, NULL)';
MyQuery1.Prepare; 
 if not MyConnection1.InTransaction then
    MyConnection1.StartTransaction;
  try
    for i := 1 to 795 do begin
         MyQuery1.ParamByName('seat').AsString := IntToStr(i);
        MyQuery1.Execute;
        end;
 MyConnection1.Commit;
  except
    MyConnection1.Rollback;
    raise;
  end;

   except
on E: exception do
showmessage(E.Message);
end;
и я хочу чтоб в sector в цикле заходил данные вот так:

если seat больше 20 тогда в сектор записался B
если seat меньше 20 тогда в сектор записался A
bex007
Пн 22 июн 2015 20:48
Форум: MySQL Data Access Components
Тема: zerofill не работает
Ответы: 3
Просмотры: 13503

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

Я сделал так Select CONVERT(`id`, CHAR) as `id` From Tickets и по моему заработало, это правильный метод?
bex007
Пн 22 июн 2015 20:39
Форум: MySQL Data Access Components
Тема: zerofill не работает
Ответы: 3
Просмотры: 13503

zerofill не работает

у меня таблица с полем id - int(11) - AUTO_INCREMENT - UNSIGNED ZEROFILL с значением 00000000001 а при запросе Select `id` From Tickets - вытаскивает только 1 без нолов. как это исправить?

я в интернете нашел это SELECT *, LPAD( Id, 3, '0') AS zero_Fill_Id FROM test но не работает видает ошибкы
bex007
Вт 16 июн 2015 15:34
Форум: MySQL Data Access Components
Тема: Как сделать запрос с динамическими переменными?
Ответы: 9
Просмотры: 18815

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

Так все отлично работает, Огромное вам спасибо 8)
bex007
Вт 16 июн 2015 10:51
Форум: MySQL Data Access Components
Тема: Как сделать запрос с динамическими переменными?
Ответы: 9
Просмотры: 18815

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

спасибо за ответ, но к сожалению этот код выдает ошибки:

[dcc32 Error] Unit2.pas(1883): E2010 Incompatible types: 'string' and 'procedure, untyped pointer or untyped parameter'

[dcc32 Warning] Unit2.pas(1952): W1057 Implicit string cast from 'AnsiString' to 'string'

[dcc32 Warning] Unit2.pas(2072): W1019 For loop control variable must be simple local variable

[dcc32 Warning] Unit2.pas(2971): W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString'
bex007
Сб 13 июн 2015 14:34
Форум: MySQL Data Access Components
Тема: Как сделать запрос с динамическими переменными?
Ответы: 9
Просмотры: 18815

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

Помогите пожалуйсто! Я хочу обновить статус одновременно на нескольких записей где после where будет массив или строки из memo. Может это делается в цикле? но главная чтоб имена одновременно обновился все.

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

myquery1.SQL.Text:='UPDATE tickets SET status:=1 WHERE seat IN (array);