Topic: Sql запросы в скрипте

Не подскажете как в скрипте разобрать Sql запрос?
А конкретно мне нужно сделать  Sql - запрос и перебрать данные
таблица
Cat
Поле1: Name
Поле2: Sort

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
  i : Integer;
 typeArray:  Array of string;
  value: string;
begin
    typeArray := SQLExecute ('SELECT name, sort FROM catalog ORDER BY catalog.sort ASC');   //    typeArray
   
   // какой-то цикл
   ShowMessage('Имя  '+name);
   ShowMessage('Сортировка  '+sort);
//  закрываем цикл
end;

Re: Sql запросы в скрипте

Пример, который перебирает данные и вставляет их в компонент Memo

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);  
var
    Results: TDataSet;
begin
    SQLQuery('SELECT name, sort FROM person', Results);
    while not Results.Eof do
    begin
        Form1.Memo1.Lines.Add( Results.FieldByName('name').AsString;
        Form1.Memo1.Lines.Add( Results.FieldByName('sort').AsString;
        Results.Next;
    end;
    Results.Free;
end;
Dmitry.

Re: Sql запросы в скрипте

Спасибо!

Re: Sql запросы в скрипте

Еще один вопрос!
Зная точно, что при запросе будет вернута только одна строка. Можно получить данные без разбора в цикле?

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);  
var
    Results: TDataSet;
begin
    SQLQuery('SELECT name, sort FROM person WHERE  id  LIKE 2 LIMIT 1', Results);
  //  while not Results.Eof do
  //  begin
    //    Form1.Memo1.Lines.Add( Results.FieldByName('name').AsString;
    //    Form1.Memo1.Lines.Add( Results.FieldByName('sort').AsString;
  //      Results.Next;
  //  end;
  //  Results.Free;
end;

Re: Sql запросы в скрипте

тогда так

var
   sName: string;
begin
   sName := SQLExecute ('SELECT name FROM catalog'); 
Dmitry.

Re: Sql запросы в скрипте

DriveSoft wrote:

Пример, который перебирает данные и вставляет их в компонент Memo

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);  
var
    Results: TDataSet;
begin
    SQLQuery('SELECT name, sort FROM person', Results);
    while not Results.Eof do
    begin
        Form1.Memo1.Lines.Add( Results.FieldByName('name').AsString;
        Form1.Memo1.Lines.Add( Results.FieldByName('sort').AsString;
        Results.Next;
    end;
    Results.Free;
end;

Почему то не работает данный пример с MySQL (

Re: Sql запросы в скрипте

okna29
Действительно, забыл реализовать процедуру SQLQuery для MySQL.
Исправил, скачайте пожалуйста последнюю бета версию:
http://myvisualdatabase.com/forum/viewtopic.php?id=1837


Спасибо.

Dmitry.