NodeJS和MSSQL – 在…中插入一个parm,并显示运行的SQL
我有一个函数,执行SQL查询并返回JSON输出。
-
我怎样才能将一个参数插入一个类似的子句 – 例如
student_lastname like 'ABC%'
– ABC将会是一个参数? 如果需要的话,我可以将SQL自己串在一起,只是试图遵循最佳实践并避免SQL注入。 -
当下面的SQL无法返回任何行时,如何显示它实际运行的SQL? 我可以做一个
console.log(sql.query)
或类似的东西? 现在,我将尝试使用SQL分析器来查看正在发生的事情。
码:
return sql.connect(sqlConfig).then(pool => { // Query - how to fold in my parameter in a like statement return pool.request() .input('parms_initialLettersLastname', sql.VarChar(50), initialLettersLastname) .query("select student_id, student_firstname, student_lastname, student_city, student_state, student_zip from students where student_lastname like '@parms_initialLettersLastname%' ORDER BY student_lastname, student_firstname ") }).then(function(result) { console.log("getStudents:then(result=>"); console.dir(result); sql.close(); return result; }) .catch(err => { // ... error checks console.log("DB Error1: " + err); //console.log(pool.request.query); // how to print out sql to debug error? sql.close(); throw err; })