2013-11-21 2 views
1

Я использую node-mysql для вызова хранимой процедуры, результат содержит некоторую схему, я не хочу, как fieldCount, affectedRows, как игнорировать их?Сохраненные процедуры возвращают результаты, которые я не хочу

когда я использую mysql, рекомендую вызвать процедуру, нет этих схем.

процедура:

DELIMITER \\ 
CREATE PROCEDURE QUERY_USER (IN p_name VARCHAR(15)) 
BEGIN 
    SELECT id,name FROM user WHERE name=p_name; 
END\\ 

Результат:

[ 
    [ 
    { 
     "id": 2, 
     "name": "codar" 
    }, 
    { 
     "id": 3, 
     "name": "codar" 
    } 
    ], 
    { 
    "fieldCount": 0, 
    "affectedRows": 0, 
    "insertId": 0, 
    "serverStatus": 34, 
    "warningCount": 0, 
    "message": "", 
    "protocol41": true, 
    "changedRows": 0 
    } 
] 

ответ

1

Результаты вы ищете не являются членами массива, что вы смотрите на ... они вложены в первый элемент этот массив, который сам по себе является другим массивом, который в вашем примере имеет только один элемент, но если бы он имел больше строк, они были бы членами внутреннего массива, а не внешнего. Вам необходимо перейти на один уровень.

С хранимыми процедурами вы ожидаете найти первую строку первого набора результатов в элементе [0] [0], вторая строка (если таковая имеется) в [0 ] [1], третий (если есть) в [0] [2] ... и так далее. Результаты не находятся в [0], затем [1], затем [2], все они находятся в массиве, вложенном внутри [0].

0

Да, как указано выше, при вызове процедуры для получения результата запроса набор результатов отличается от прямого запроса, он включает в себя некоторую информацию, такую ​​как fieldCount, affectedRows. так что вы можете сделать это в вашей узловой стороне коды, например:

var GetgroupList_Sql = "call GetActiveGroup(1); "; 
mysqlHelper.ExecuteQuery(GetgroupList_Sql,, function (error, result) { 
    if (error) { 
     res.json({success: false, data: error}); 
     return; 
    } 
    console.log(result[0]); 
}); 

основной точка используется результатом [0], а не результат как обычный запрос. то есть:

ссылка: http://www.sitepoint.com/using-node-mysql-javascript-client/

Смежные вопросы