Как использовать SQL выходной параметр в NodeJS и реагировать на приложения - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть sql Процедура сохранения с выходным параметром. Я использовал этот выходной параметр, чтобы показать сообщение от внутреннего интерфейса к внешнему приложению. а также я использовал эту функциональность в C# коде, она отлично работает в соответствии с моим требованием. Я хотел бы знать, как использовать эти функции в "NodeJS и React Apps" .

Пожалуйста, проверьте мою нижеприведенную sql процедуру хранения и C# кодирование, которое я сделал. Это будет очень полезно для всех node js и отреагирует js разработчика на реализацию этого.

SQL Процедура сохранения с выходным параметром: -

Create Procedure [dbo].[SpMenuParent] (

@MenuId Int,
@Message varchar(75) output,
@MenuName nvarchar(75) 

) as 

Begin
    If (@MenuId = 0)     
    begin
        if (Select Count(*) from MenuMaster Where (MenuName = @MenuName))=0
            begin
                Insert Into MenuMaster(ModuleId, MenuName,ParentId,IconCSS)Values(1,@MenuName,0, 'fa fa-dashboard')
                Set @MenuId = Cast(@@IDENTITY As Int)
            end
        else
            Set @Message = 'Duplicate Entry Not Allowed' // This will display in front end apps

    End
    else
        Update MenuMaster Set  MenuName =@MenuName Where (MenuId = @MenuId)




End 

C# Код для получения выходного параметра из процедуры хранения: -

private void SaveRecord()
        {
            try
            {
                string StrMessage;
                using (DbManager Db = new DbManager())
                {
                    StrMessage = Db.SetSpCommand("SpMenuParent",
                    Db.InputOutputParameter("@Message", ""),
                    Db.InputParameter("@MenuId", IntMenuId),
                    Db.InputParameter("@MenuName", TxtName.Text)).ExecuteScalar<string>(ScalarSourceType.OutputParameter);
                    Db.Dispose();
                    Db.Close();

                    if (!StrMessage="") MessageBox.Show(StrMessage); // this line get the message from sql store procedure and show it to end user

                }
            }
            catch(Exception Ex)
            {
                MessageBox.Show(Ex.Message);
            }
        }

Node JS Код: -

app.post('/createmenu', async (req, res, next) => {
  try {

        new sql.Request(conn)
          .input('message','') 
          .input('menuid', req.body.menuid)
          .input('menuname', req.body.menuname)
          .query(SpMenuParent);
      }

      res.status(201).json({ data: 'menu created' });
    });
  } catch (error) {
    console.log(error);
    res.status(400).json({ error: error });
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...