Шестнадцатеричный или десятичный как параметры OracleCommand - PullRequest
0 голосов
/ 12 ноября 2009

Я смотрю на код, написанный бывшим сотрудником, где я работаю, и замечаю, что он иногда использует шестнадцатеричное представление, а иногда десятичное. Так как он давно ушел, я не могу спросить его, почему, поэтому я надеюсь, что кто-то здесь мог взглянуть и просветить меня.

   command.Parameters.Add("PI_EMPLOYEE_NUM", 
          OracleDbType.Varchar2, Trim(cn, 50), 
          ParameterDirection.Input);
   command.Parameters.Add("PI_EMPLOYEE_DISPLAY_NM", 
          OracleDbType.Varchar2, Trim(displayName, 0xff), 
          ParameterDirection.Input);
   command.Parameters.Add("PI_EMPLOYEE_ADDR_TXT", 
          OracleDbType.Varchar2, Trim(streetAddress, 0xff), 
          ParameterDirection.Input);
   command.Parameters.Add("PI_EMPLOYEE_MAIL_CD", 
          OracleDbType.Varchar2, Trim(postOfficeBox, 50), 
          ParameterDirection.Input);

Ответы [ 3 ]

1 голос
/ 12 ноября 2009

Как правило, имеет смысл использовать hex, когда представляемое число больше относится к техническому или компьютерному параметру ограничения, поскольку эти типы значений часто основаны на конструкциях base-2, поскольку внутреннее ограничение связано с числом потенциальные значения, которые могут быть представлены некоторым двоичным числом (например, значение, которое должно храниться в 8-битном байте или в 16-битном целом числе без знака)

Десятичные представления чаще используются, когда значение является бизнес-ограничением, обусловленным неким внешним правилом бизнес-модели, которое не имеет ничего общего с компьютерами или техническими подробностями.

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

0 голосов
/ 12 ноября 2009

Полагаю, он использует шестнадцатеричное значение для 0xff (255), чтобы показать, что оно (2 ^ 8 - 1) по причине. Я не уверен, в чем причина, хотя. Может быть, Oracle лучше работает с шириной столбца степеней два? Я никогда не слышал об этом раньше, поэтому я не знаю, правда ли это.

0 голосов
/ 12 ноября 2009

Похоже, он использует шестнадцатеричный код для строк и десятичный для чисел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...