Express JS API -переменная с параметрами для выполненной процедуры execJavascript

Форум по Javascript
Ответить
Гость
 Express JS API -переменная с параметрами для выполненной процедуры exec

Сообщение Гость »

Я работаю с API, который будет служить моим уровнем доступа к данным в моей архитектуре проекта. />

Код: Выделить всё

const pool = await poolPromise;
const request = pool.request();
const result = await request.input('user_id', sql.NVarChar(50), user_id || null)
.input('img_data', sql.VarBinary(sql.MAX), Buffer.from(img_data))
.input('img_size', sql.Decimal(10, 3), img_size)
.input('birthday', sql.Date, birthday)
.input('country', sql.VarChar(200), country)
.input('email_add', sql.NVarChar(150), email_add)
.input('mobile_no', sql.VarChar(50), mobile_no)
.input('key', sql.VarChar(100), key)
.query('EXEC testStoredProcedure @user_id, @img_data, @img_size, @birthday, @country, @email_add, @mobile_no, @key');
< /code>
Это хорошо работает с этой настройкой. Результаты.
Поэтому я использую эти подходы, используя [b] переменную [/b] и [b] backticks [/b]: 
 с REQ .body. [param] < /h4>
const query = `
'EXEC testStoredProcedure
@user_id = ${req.body.user_id},
@img_data = ${req.body.img_data},
@img_size = ${req.body.img_size},
@birthday = ${req.body.birthday},
@country = ${req.body.country},
@email_add = ${req.body.email_add},
@mobile_no = ${req.body.mobile_no},
@key = ${req.body.key}'
`;

const pool = await poolPromise;
const request = pool.request();
const result = await request.input('user_id', sql.NVarChar(50), user_id || null)
.input('img_data', sql.VarBinary(sql.MAX), Buffer.from(img_data))
.input('img_size', sql.Decimal(10, 3), img_size)
.input('birthday', sql.Date, birthday)
.input('country', sql.VarChar(200), country)
.input('email_add', sql.NVarChar(150), email_add)
.input('mobile_no', sql.VarChar(50), mobile_no)
.input('key', sql.VarChar(100), key)
.query(query);
< /code>
 без req.body < /h4>
const query = `
'EXEC testStoredProcedure
@user_id = ${user_id},
@img_data = ${img_data},
@img_size = ${img_size},
@birthday = ${birthday},
@country = ${country},
@email_add = ${email_add},
@mobile_no = ${mobile_no},
@key = ${key}'
`;

const pool = await poolPromise;
const request = pool.request();
const result = await request.input('user_id', sql.NVarChar(50), user_id || null)
.input('img_data', sql.VarBinary(sql.MAX), Buffer.from(img_data))
.input('img_size', sql.Decimal(10, 3), img_size)
.input('birthday', sql.Date, birthday)
.input('country', sql.VarChar(200), country)
.input('email_add', sql.NVarChar(150), email_add)
.input('mobile_no', sql.VarChar(50), mobile_no)
.input('key', sql.VarChar(100), key)
.query(query);
< /code>
Оба не обрабатывают запроса с помощью этого вызова API из моего проекта Flutter: < /p>
await _api.testMethod(
'/api/request', // route
null, // user_id
'', // img_data
0.00, // img_size
DateTime.now().toIso8601String(), // birthday
'Philippines', // country
null, // email_add
_mobileNo, // mobile_no
'SIGN_IN'); // key
это то, что журналы говорят для с req.body. [param] и без req.body. [param] < /code> < /strong>: < /p>

uncaught exception: исключение: не удалось сделать запрос на сообщение: исключение:
api ошибка: 500 {Сообщение: Неправильный синтаксис рядом с 'exec
testStoredProcedure
@user_id = null,
@img_data =' ',
'.) /> Согласно журналам, синтаксис рядом с указанием параметра для exc TestStoredProcedure неверен. Поэтому чего мне здесь не хватает?


Подробнее здесь: https://stackoverflow.com/questions/794 ... -procedure
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»