帮忙看看哪里有问题,多谢了。
确定数据库里有记录。
程序代码,参数的赋值和顺序并没有错。
var productCategoryID = helper.emptyUuid;
var parentID = req.body.parentID ? req.body.parentID : helper.emptyUuid;
var usePorc = "CALL usp_productCategory_create(?,?,?,?,?,@returnCode);";
var useParams = [productCategoryID, req.body.name, req.body.details, parentID, req.session.adminid];
存储过程,出错了。
CREATE DEFINER=`root`@`localhost` PROCEDURE `usp_productCategory_create`(
in param_porductcategoryid char(50)
,in param_name varchar(20)
,in param_details varchar(200)
,in param_parentID char(50)
,in param_userID char(50)
,out returnCode char(12))
BEGIN
DECLARE var_exists int;
SET returnCode='003001000';
SELECT count(productCategoryID) into var_exists FROM productcategories WHERE productCategoryID=param_parentID group by productCategoryID;
IF var_exists=1 then
SET returnCode='003001001';
end if;
set returnCode=CAST(var_exists AS char(12));//后来加的语句用来做测试,结果获取到Null
select returnCode;
END
大家讲道理2017-04-17 14:22:39
Oops...at first glance in the morning...I defined the variable name wrong...
Resolved.
Use sublimeText to edit the saved code before, ctrl+alt+F to format the code, and a number of spaces are automatically added to the value. parentID is originally uuid, but after adding spaces, the length becomes 82. sweat.
Furthermore, it was implemented under mssql before, so you can do it directly. Now change mysql and pass the parentID to the stored procedure and the response will be '00000000-0000-0000-0000-000000000000rn'
<select name="parentID" class="form-control">
<% categories[0].forEach(function(category){ %>
<% if (category.productCategoryID==parentID) { %>
<option value="<%= category.productCategoryID %>
" selected>
<% } else { %>
<option value="<%= category.productCategoryID %>
">
<% }%>
</select>