Здравствуйте. Пытаюсь считать из таблицы MS SQL7 данные. Не получается. Хотя таблицы создаются, можно посмотреть их содержимое. В этом плане все нормально. Но считать не получается.
Делаю так:
## Код:
```
IMPORT Kernel, SqlDB, StdLog;
   
   CONST
      protocol = "SqlOdbc3";
      id = ""; password = "";
      datasource = "MS_SQL7_TEST_Client";

      TYPE Str1 = RECORD
               id: INTEGER;
               name: ARRAY 32 OF CHAR;
               ceo: ARRAY 32 OF CHAR;
               employees: INTEGER
            END;   
   VAR
      str1*: Str1;

   PROCEDURE Create*;
      VAR db: SqlDB.Database; res: INTEGER;

   BEGIN
      SqlDB.OpenDatabase(protocol, id, password, datasource, SqlDB.async, SqlDB.hideErrors, db, res);
      IF db # NIL THEN
         db.Exec("CREATE TABLE Table1 (id INTEGER, name VARCHAR(32), ceo VARCHAR(32), employees INTEGER)");
         db.Exec("INSERT INTO Table1 VALUES (11, 'Test1', 'qwer', 234)");
         db.Exec("INSERT INTO Table1 VALUES (12, 'Test2', 'qewr-rty', 1234)");

         db.Commit
      END;
      db := NIL;
      Kernel.Cleanup   
   END Create;

   PROCEDURE ReadStr*;
      VAR
         db: SqlDB.Database;
         res: INTEGER;
         table: SqlDB.Table;
         str1: Str1;
         
   BEGIN
      SqlDB.OpenDatabase(protocol, id, password, datasource, SqlDB.async, SqlDB.hideErrors, db, res);
      IF db # NIL THEN
         table := db.NewTable();
         
         table.Exec("SELECT * FROM Table1 WHERE id > 0");
         table.Read(1, str1); ;

         StdLog.Int(str1.id); StdLog.Ln;
         StdLog.String(str1.name); StdLog.Ln;
         StdLog.String(str1.ceo); StdLog.Ln;
         StdLog.Int(str1.employees); StdLog.Ln;

         db.Commit
      END;
      table := NIL;
      db := NIL;
      Kernel.Cleanup;   (* garbage collector closes database *)
   END ReadStr;
```


Что делаю не так? И как считать значение из какой-то произвольной ячейки? Спасибо.

Отображение исходного кода поправлено администратором.