OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 23 Август, 2019 18:42

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Вывод данных из таблицы
СообщениеДобавлено: Среда, 25 Май, 2011 13:24 

Зарегистрирован: Среда, 27 Апрель, 2011 20:03
Сообщения: 8
Откуда: г.Орёл
В общем не могу разобраться как вывести данные из таблицы. Создаю в базе test таблицу proba:
db.Exec("CREATE TABLE proba (id INTEGER, name VARCHAR(255))");
db.Exec("INSERT INTO proba VALUES (11, 'privet privet')");
db.Commit
все работает, через mysql смотрю все сздалось.

а как вывести эти данные и куда вообще их можно вывести в бб?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Среда, 25 Май, 2011 13:31 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Например, в текст (см. F1, 5 Text, конкретнее --- подойдёт ObxDb). Для пробы проще в журнал (тот же текст, см. StdLog).

Пример простой базы с соотв. гуём SqlObx... см. Sql Dev-Man, в конце, п. Example.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Среда, 25 Май, 2011 13:31 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Создайте экземпляр таблицы table := db.NewTable(), затем выполните запрос table.Exec("SELECT * FROM ...") и читайте результат с помощью table.Read(row, readRec).

Учтите, что поля и типы структуры readRec должны совпадать с полями, перечисленными в запросе SELECT.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Среда, 25 Май, 2011 17:44 

Зарегистрирован: Среда, 27 Апрель, 2011 20:03
Сообщения: 8
Откуда: г.Орёл
Спасибо за ответы, вроде разобрался немного)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Четверг, 26 Май, 2011 11:42 

Зарегистрирован: Среда, 27 Апрель, 2011 20:03
Сообщения: 8
Откуда: г.Орёл
А как можно вывести таблицу в диалоговое окно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Четверг, 26 Май, 2011 13:32 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2355
Если просто быстро открыть, то смотрите SqlBrowser как сделан.

Если, хочется свои поля задавать и как-то по своему формировать таблицу, то пример есть сдесь:
viewtopic.php?f=35&t=3268

Если хочется именно в форму добавить таблицу, то создаете форму, вставляете через меню в форму контрол "таблица", в настройках контрола привязываете его к объекту таблица из вашего модуля.

Если не разберетесь, то я сделаю видеоурок :) и выложу на форум.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Четверг, 26 Май, 2011 17:14 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Иван Колодяжный писал(а):
А как можно вывести таблицу в диалоговое окно?
Почему именно туда? В тексте хуже видны?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Четверг, 26 Май, 2011 21:19 

Зарегистрирован: Среда, 27 Апрель, 2011 20:03
Сообщения: 8
Откуда: г.Орёл
нет, просто мне нужно именно туда, т.к. я пытаюсь сделать что то вроде автоматизированной системы. К примеру есть список товаров или услуг, не важно, можно выбрать нужные, нажимаеш кнопку, производится расчет стоймости, затраченого времени ну типо того...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Пятница, 27 Май, 2011 14:52 

Зарегистрирован: Среда, 27 Апрель, 2011 20:03
Сообщения: 8
Откуда: г.Орёл
Подскажите пожалуйста, вот мой пример
Код:
MODULE DbTest2;

   IMPORT ObxRandom, (*MysqlLibWin, *)Math, Files, Dates, (*Services, *)Strings, (*MysqlStrings, *)SqlDB, SqlDrivers, Dialog, (*Mysql := MysqlDriver, *)Log := StdLog;

   CONST
      protocol = 'MysqlDriver';
      host = 'localhost';
      dbName = 'test2';
      user = 'root'+':'+dbName;
      pwd = 'ghbdtn';
      port = 0;
      client_flag = {};
      
   TYPE
      ReadRec = RECORD
      id*: INTEGER;
      name*: ARRAY 51 OF CHAR;
      value*: INTEGER;
   END;

   VAR
      db: SqlDB.Database;
      rec*: RECORD
      id: INTEGER;
      name: ARRAY 51 OF CHAR;
      value: INTEGER;
   END;
      
   table*: SqlDB.Table;
   
   PROCEDURE Connect*;
      VAR res: INTEGER;
   BEGIN
      SqlDB.OpenDatabase(protocol, user, pwd, host, SqlDB.sync, SqlDB.showErrors, db, res);
      table := db.NewTable();
      Log.String("Подключение к базе выполнено");Log.Ln;
   END Connect;
   
   PROCEDURE Create*;
      VAR
   BEGIN
      db.Exec("CREATE TABLE proba (id INT, name VARCHAR(255), value INT)");
      db.Exec("INSERT INTO proba VALUES ('1', 'usluga 1', '310')");
      db.Exec("INSERT INTO proba VALUES ('2', 'usluga 2', '230')");
      db.Exec("INSERT INTO proba VALUES ('3', 'usluga 3', '450')");
      db.Commit
   END Create;
   
   PROCEDURE Del*;
      VAR
   BEGIN
      db.Exec("drop table proba");
      Log.String("Tables Delete");Log.Ln;
   END Del;
   
   PROCEDURE Show*;
      BEGIN
      table.Exec("SELECT * FROM proba");
      Dialog.Update(table);
   END Show;
END DbTest2.
^QDbTest2.Connect
^QDbTest2.Create
^QDbTest2.Del
^QDbTest2.Show

что здесь не правильно? в диалоговом окне таблица отображается както странно:Изображение , хотя в mysql все нормально: Изображение


Вложения:
Db.rar [4.19 КБ]
Скачиваний: 153
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Пятница, 27 Май, 2011 15:09 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2599
Откуда: Россия, Ярославль
крайний символ теряется, вроде кто-то недавно исправлял подобный баг в ветке про драйвер мускля


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Суббота, 28 Май, 2011 11:54 

Зарегистрирован: Среда, 27 Апрель, 2011 20:03
Сообщения: 8
Откуда: г.Орёл
не думаю что с драйвером проблема, потому что если выводить в журнал то все нормально...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод данных из таблицы
СообщениеДобавлено: Среда, 15 Июнь, 2011 11:58 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 12:00
Сообщения: 79
Откуда: Россия, Санкт-Петербург
Иван Колодяжный писал(а):
не думаю что с драйвером проблема, потому что если выводить в журнал то все нормально...


Проблема с драйвером.
На рисунке показана ваша форма и место исправления в драйвере (помечена красным цветом)


Вложения:
db.jpg
db.jpg [ 82.88 КБ | Просмотров: 4691 ]
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB