stellus Ответов: 3

Как преобразовать код C# в хранимую процедуру SQL server?


Всем Привет,

Я пытаюсь преобразовать функцию C# в хранимую процедуру sql server
у меня есть код c#, я хочу преобразовать хранимую процедуру sql
я перепробовал много способов, но не смог получить выход.

ниже приведен мой код c# :

protected void Page_Load(object sender, EventArgs e)
  {
      string S = "pass";
      string str2 = "";
      int num2 = 1;
      int num3 = S.Length;
      for (int i = 0; i < num3; i++)
      {
          str2 = str2 + Convert.ToChar(Convert.ToChar(S.Substring(i, 1)) + ((i + 1) * num2));
          num2 *= -1;
      }
      return str2;

  }




Мой вывод для вышеприведенного таков =
q_vo



Итак, я хочу узнать, как преобразовать приведенный выше код c# в хранимую процедуру sql.

если вы знаете, пожалуйста, бросьте решение для этого.

Заранее спасибо,

Что я уже пробовал:

how to convert c# code into sql server stored procedure?

Tomas Takac

Похоже на домашнюю работу.

3 Ответов

Рейтинг:
2

Member 13814336

класс ValidateSAID {

public int check(String id) {
идентификатор = идентификатор.Отделка();
если (!Regex.IsMatch(id, @"[0-9]+")) {
возврат -1;
}
if (id.Длина != 10) {
возврат -1;
}
int type = (int)(id[0]-'0');
if (type != 2 && type != 1) {
возврат -1;
}
int sum = 0;
for (int i = 0; i < 10; i++) {
если (i % 2 == 0) {
Строка ZFOdd = ((int)(id[i]-'0') * 2).ToString().PadLeft(2, '0');
сумма += (тип int)(ZFOdd[0]-'0') + (инт)(ZFOdd[1]-'0');
} еще {
sum += (int)(id[i]-'0');
}
}
return (sum % 10 != 0) ? -1 : тип;

}

}


Dave Kreskowiak

Спросил ответ больше года назад.

CHill60

Это C#. ОП хотел SQL. Совершенно не по теме

Рейтинг:
1

Ashwin. Shetty

Я бы не рекомендовал напрямую преобразовывать код C#, если он не имеет зависимости от данных, и его прямое преобразование также может привести к неизвестным проблемам. Я предполагаю, что SQL поддерживает CLR (в зависимости от версии, которую вы используете), статья здесь должен быть в состоянии помочь вам в этом. Но опять же это компромисс с производительностью.


Рейтинг:
0

Darren Kelly

В этом случае это может быть сделано как его просто манипуляция строкой. Основная проблема заключается в преобразовании текста в код ascii и обратно. SQL 2008 имеет следующие функции, которые могут конвертировать символ в эквивалентный код ascii
MSDN: ASCII (Transact-SQL)
MSDN: CHAR (Transact-SQL)

Вы можете использовать внутренности этого фрагмента кода для создания хранимой процедуры

DECLARE @input VARCHAR(50)
DECLARE @output VARCHAR(50)
DECLARE @length INT
DECLARE @i INT
DECLARE @tmp INT
DECLARE @num2 INT

SET @input = 'pass'

-- set defaults for output and internal variables
SELECT @output = '', @i = 1, @num2=1, @length = LEN(@input)

-- made slight change in formula as indexes in sql string arrays start at 1
WHILE @i <= @length
BEGIN
	SET @tmp = ascii(SUBSTRING(@input,@i,1))
	SET @tmp = @tmp + (@i*@num2)
	SET @num2 = @num2 * -1
	SET @output = @output + char(@tmp)

	SET @i = @i+1
end

SELECT @output


если вам нужно знать, как создать хранимую процедуру, вы можете посмотреть на это:
Процедура создания (Transact-SQL)


Maciej Los

5!