字段为空时,怎样用sql拼接存入数据库

1.如下,若param中的Description字段中不输入,为空,则会报错如图所示:

clipboard.png

function insertData(data){

    var values=[];
    async.map(data,function(item,cb){
    _getNewSN({
        query:{category : "ProjectOID_" + item.ProjectOID},
        success:function(sn){
            var param=[parseInt(item.FunctionCode) ,
                        parseInt(item.StartRegister) ,  
                        parseInt(item.Length) , 
                        item.Description , 
                        item.ProjectHardwareOID , 
                        sn.SN];
            cb(null,param)
        },
        error : sender.error
    });
    },function(err,values){
        // console.log(values);
        var sql = "insert into " + 
                    "plcModbusTCPDB(FunctionCode,StartRegister," + 
                    "Length,Description,ProjectHardwareOID," + 
                    "DataID) values ";
        var param="";
        var parameters=[];
        for(var i=0;i<values.length;i++){
            var element = values[i].toString();
            console.log(element);//打印出来为:"3,1,1,,418,336","3,2,1,,418,337",其中Description字段无输入值,为空,执行报错如上 
            param += '(' + element + ')';        
            parameters.push(element);
        }
        sql+=param;
        // console.log(sql);
        yjDBService.exec({
            sql : sql,
            // parameters : parameters,
            success : sender.success,
            error : sender.error
        });
    })
}

问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 958
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题