Как с JavaScript переместить в переменные результат SQL-запроса?

A
На сайте с 22.09.2015
Offline
2
782

Срочно нужна помощь!

Как с JavaScript переместить в переменные результат SQL-запроса?

SQL-запрос из rpc-Функции rpc.getData.js :

var mid_obj = utils.db.getResultObj(dbh,"SELECT map_id,man_aid,man_name,ean FROM prod p,man m WHERE p.man_id = m.man_id AND sup_id = 11000 AND map_id = "+params.map_id);

result.debug = mid_obj;

Переменные и какие им необходимо присвоить значения:

ean = ean из запроса

man_aid = man_id из запроса

man_name = man_name из запроса

Благодарю заранее!

RiDDi
На сайте с 06.06.2010
Offline
285
#1

что именно за фреймворк используется?

utils.db.getResultObj наводит на мысль, что вы что-то путаете

обычно вроде getResultObj работают с json-объектом, который ну никак не может вылезти из утилиты по работе с какой-то базой

utils.db node.js и подобных, обычно, содержит простые методы вроде get, set, transaction, query

а может это вообще питон, а не яваскрипт 🤪

тогда тем более надо знать, что за фреймворк

Вебмастер отдыхает на бережках морей. Заработок в интернете - дело техники.
A
На сайте с 22.09.2015
Offline
2
#2

rpc-Функция на чистом JavaScript как я понимаю. Функция запускается при нажатии определённой кнопки в программе, написанной на JS ExtJS.

Если это Вам поможет, вот полный SQL-Запрос:

rpc.getData= function(params,result){

var dbs = ['prod.db3','map.db3'];

var dbh = utils.db.createHandle(dbs,{page_size:'8192',temp_store:'memory'},COPAS_DB_KEY);

var mid_obj = utils.db.getResultObj(dbh,"SELECT map_id,man_aid,man_name,ean FROM prod p.man m WHERE p.man_id = m.man_id AND sup_id = 11000 AND map_id = "+params.map_id);

result.debug = mid_obj;

sqlite3_close(dbh);

.....

.....

}

Далее необходимо передать переменным значиения из SQL-запроса

ean = ean из запроса

man_aid = man_id из запроса

man_name = man_name из запроса

После необходимый манипуляций с переменными, результат помещается в Array

var res = [];

и выдаётся rpc-функцией как результат (Return Code)

result.rows = res;

siv1987
На сайте с 02.04.2009
Offline
427
#3
antiwindows:
var mid_obj = utils.db.getResultObj

А здесь что? Судя по названию методу, он должен возвращать результат в виде объекта.

---------- Добавлено 11.11.2015 в 17:20 ----------

antiwindows:
Далее необходимо передать переменным значиения из SQL-запроса

Продебажьте mid_obj и присваивайте результат переменным, в чем проблема?

A
На сайте с 22.09.2015
Offline
2
#4

siv1987, эт понятно, но непонятно как это в живом коде выглядит )

siv1987
На сайте с 02.04.2009
Offline
427
#5

var ean = mid_obj.ean

var man_aid = mid_obj.man_aid

и тд.

A
На сайте с 22.09.2015
Offline
2
#6

это уже пробовал:

var man_name = mid_obj.man_name;

var man_aid = mid_obj.man_aid;

var ean = mid_obj.ean;

не работает (

RiDDi
На сайте с 06.06.2010
Offline
285
#7
antiwindows:
siv1987, эт понятно, но непонятно как это в живом коде выглядит )

siv1987 имеет ввиду выведите в лог mid_obj и посмотрите / покажите что в нём вообще

console.log(mid_obj)

у Вас же запрос без лимита и явно там ответ будет в виде массива объектов или объекта в котором есть массив объектов )

аля mid_obj[0].man_aid

но гадать не надо, надо вывести в лог и посмотреть..

A
На сайте с 22.09.2015
Offline
2
#8

Кому интересно, решение найдено:

var dbs    = ['prod.db3','map.db3'];


.....
var mid_obj = utils.db.getResultObj(dbh,"SELECT map_id,man_aid,man_name,ean FROM prod p,man m WHERE p.man_id = m.man_id AND sup_id = 11000 AND map_id = "+params.map_id);

sqlite3_close(dbh);

var ean = mid_obj[0].ean;
var man_aid = mid_obj[0].man_aid;
var man_name = mid_obj[0].man_name;

Всем спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий