OberonCore https://forum.oberoncore.ru/ |
|
Вывод данных из таблицы https://forum.oberoncore.ru/viewtopic.php?f=35&t=3461 |
Страница 1 из 1 |
Автор: | Иван Колодяжный [ Среда, 25 Май, 2011 13:24 ] |
Заголовок сообщения: | Вывод данных из таблицы |
В общем не могу разобраться как вывести данные из таблицы. Создаю в базе test таблицу proba: db.Exec("CREATE TABLE proba (id INTEGER, name VARCHAR(255))"); db.Exec("INSERT INTO proba VALUES (11, 'privet privet')"); db.Commit все работает, через mysql смотрю все сздалось. а как вывести эти данные и куда вообще их можно вывести в бб? |
Автор: | Евгений Темиргалеев [ Среда, 25 Май, 2011 13:31 ] |
Заголовок сообщения: | Re: Вывод данных из таблицы |
Например, в текст (см. F1, 5 Text, конкретнее --- подойдёт ObxDb). Для пробы проще в журнал (тот же текст, см. StdLog). Пример простой базы с соотв. гуём SqlObx... см. Sql Dev-Man, в конце, п. Example. |
Автор: | Иван Кузьмицкий [ Среда, 25 Май, 2011 13:31 ] |
Заголовок сообщения: | Re: Вывод данных из таблицы |
Создайте экземпляр таблицы table := db.NewTable(), затем выполните запрос table.Exec("SELECT * FROM ...") и читайте результат с помощью table.Read(row, readRec). Учтите, что поля и типы структуры readRec должны совпадать с полями, перечисленными в запросе SELECT. |
Автор: | Иван Колодяжный [ Среда, 25 Май, 2011 17:44 ] |
Заголовок сообщения: | Re: Вывод данных из таблицы |
Спасибо за ответы, вроде разобрался немного) |
Автор: | Иван Колодяжный [ Четверг, 26 Май, 2011 11:42 ] |
Заголовок сообщения: | Re: Вывод данных из таблицы |
А как можно вывести таблицу в диалоговое окно? |
Автор: | Иван Денисов [ Четверг, 26 Май, 2011 13:32 ] |
Заголовок сообщения: | Re: Вывод данных из таблицы |
Если просто быстро открыть, то смотрите SqlBrowser как сделан. Если, хочется свои поля задавать и как-то по своему формировать таблицу, то пример есть сдесь: viewtopic.php?f=35&t=3268 Если хочется именно в форму добавить таблицу, то создаете форму, вставляете через меню в форму контрол "таблица", в настройках контрола привязываете его к объекту таблица из вашего модуля. Если не разберетесь, то я сделаю видеоурок ![]() |
Автор: | Евгений Темиргалеев [ Четверг, 26 Май, 2011 17:14 ] |
Заголовок сообщения: | Re: Вывод данных из таблицы |
Иван Колодяжный писал(а): А как можно вывести таблицу в диалоговое окно? Почему именно туда? В тексте хуже видны?
|
Автор: | Иван Колодяжный [ Четверг, 26 Май, 2011 21:19 ] |
Заголовок сообщения: | Re: Вывод данных из таблицы |
нет, просто мне нужно именно туда, т.к. я пытаюсь сделать что то вроде автоматизированной системы. К примеру есть список товаров или услуг, не важно, можно выбрать нужные, нажимаеш кнопку, производится расчет стоймости, затраченого времени ну типо того... |
Автор: | Иван Колодяжный [ Пятница, 27 Май, 2011 14:52 ] | ||
Заголовок сообщения: | Re: Вывод данных из таблицы | ||
Подскажите пожалуйста, вот мой пример Код: 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 что здесь не правильно? в диалоговом окне таблица отображается както странно: ![]() ![]()
|
Автор: | Пётр Кушнир [ Пятница, 27 Май, 2011 15:09 ] |
Заголовок сообщения: | Re: Вывод данных из таблицы |
крайний символ теряется, вроде кто-то недавно исправлял подобный баг в ветке про драйвер мускля |
Автор: | Иван Колодяжный [ Суббота, 28 Май, 2011 11:54 ] |
Заголовок сообщения: | Re: Вывод данных из таблицы |
не думаю что с драйвером проблема, потому что если выводить в журнал то все нормально... |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |