# Проводжу денне кодування і NET 1.0.3705. 352 вади!)

<datetime class="hidden">2004-02-29T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, .NET, Database, Software Development -->
Я работаю... думаю, я упомяну очень нелепую жучку, которую я наткнулся вчера.
Робота, через яку я був спантеличений приблизно півтора дня...

Я написала заявку (Портал, про який я вже згадував раніше - [The
Суспільство освіти](http://www.theeducationcommunity.com)), що використовує [Дані
Блок програм з доступом](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp)щоб забезпечити DAL - яку я дуже рекомендую.
це завжди було бездоганно на кожній платформі на якій я пробував.

```
    string user = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
    string exceptionStr=exception.ToString() + exception.StackTrace;
    SqlParameter[] sqlParams = new SqlParameter[4]; SqlParameter
    prmUser = new SqlParameter("@user",SqlDbType.VarChar,500);
    prmUser.Value = user;
    SqlParameter prmMessage = new SqlParameter("@exceptionMessage",
    SqlDbType.VarChar, 2000);
    prmMessage.Value = exception.Message;
    SqlParameter prmExStr = new SqlParameter("@exception",SqlDbType.Text);
    prmExStr.Value = exceptionStr;
    SqlParameter prmPortalId = new SqlParameter("@portalId",SqlDbType.SmallInt);
    prmPortalId.Value = 0; sqlParams[0] = prmUser;
    sqlParams[1] = prmMessage;
    sqlParams[2] = prmExStr; 
    sqlParams[3] = prmPortalId;
    /*SqlHelperParameterCache.GetSpParameterSet(_connectionString,"pr_Admin_InsertError");  sqlParams[0].Value
    = user;  sqlParams[1].Value = exception.Message;  sqlParams[2].Value
    = exceptionStr;  //sqlParams[2].Value = "Test String";  sqlParams[3].Value
    = ((PortalSettings)HttpContext.Current.Items["PortalSettings"]).PortalId;*/ 
    SqlHelper.ExecuteNonQuery(_connectionString,CommandType.StoredProcedure,"pr_Admin_InsertError",sqlParams);
```

Я використовую метод, який називається SqlHelperParameterCache.GetSpParameters (закоментовано)
у коді, наведеному вище) - це, по суті, просто заповнюється масивом SqlParameters за допомогою
параметри, які буде повернуто від DB - зберігає трохи коду і спрощує програму
Оновлювати з зміною конструкцій - чудово!

У всякому разі, це спрацювало бездоганно, швидко, ефективно все це!
Попытался войти в нашу проверную обстановку в четверг - я продолжал получать разные ошибки,
Критична помилка і загальна помилка мережі з сервера SQL 2000, коли я намагався запустити
Ну, версії .NET на цьому комп'ютері 1.0.3705.352

- Варіація, яку я ніколи не бачив і не міг отримати, але я припустив, що NET 1.0 була гарна.
  але це все!

Емм... Уронг, виявляється, ця версія має серйозну проблему, коли ви намагаєтеся отримати параметри
back from a spec, if the SP очікує на тип поля " text " - він просто неправильно його розуміє

- і спричиняють цю жахливу, загадкову помилку. Вирішення, явно оголошуючи типи полів
  якщо у вашому SP міститься поле " text " (лише один, для якого я спробував:
  може впливати на більше типів " двійкових ."

В будь-якому разі, зараз полагодьте - але я рекомендую вам оновити до 1,1, що також є фантастичним
річ, яку я відкрив з якогось блогу хлопців в [ASP. NET
веб- щоденники](http://weblogs.asp.net) простий, але зберігає трохи вводу, здається, що StopDownList (Я очікую
У RadioButtonList теж є цей параметр, але його не було пробовано!), що є властивістю ВибранаValue -
як круто це - добре не так круто, але це краще ніж старий ddl.SelectedItem.Value...bit
коротше...