![]() |
|
Модераторы: Akina |
![]()
|
|
| Гость_Nicka |
|
|||
|
Unregistered |
Проблема такая
Имеется хп с n параметрами В модуле формы с помощю ADO создаю Command объект и присваиваю объекты параметров что то вроде этого set parameter(....) cmm.append parameter (...) cmm.prepared cmm.execute (Код с ошибками но суть ясна) Так вот во первых если у значения параметра значение "" то вадается ошибка ладно тогда при "" я параметр не создаю а в Хпроцедуре задаю параметру Default value все хорошо только если какой параметр у меня "" и я его несоздаю то при передаче параметров в хп порядок параметров меняется и значения параметров путаются в результате insert который у меня в хп вносит неправильные значения Ну все понятно? Жду решения проблемы с нетерпением!!! |
|||
|
||||
| valex13 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 29.1.2003 Где: Иркук. область, г . Иркутск Репутация: 1 Всего: 1 |
Как раз не понятно. Чего так сложно-та? Ты скажи чего ты хочешь, я попробую сказать как сделать... |
|||
|
||||
| vickr |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 13.5.2003 Где: Санкт-Петербург Репутация: нет Всего: нет |
Приведи кусок кода, который не работает - тогда станет ну ваще понятно
--------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:) |
|||
|
||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Ладно погодите до завтра
Покажу... |
|||
|
||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
With cnn
.Provider = "sqloledb" .Open "Provider=Microsoft.Access.OLEDB.10.0;User Id=sa;Password=hunter;Data Source=marina;Initial Catalog=tttSQL;Data Provider=SQLOLEDB.1" End With With cmm Set class1 = .CreateParameter("class", adVarWChar, adParamInput, Len(strclass), strclass) Set class2 = .CreateParameter("class2", adVarWChar, adParamInput, Len(strclass2), strclass2) .Parameters.Append class1 .Parameters.Append class2 Set .ActiveConnection = cnn .CommandType = adCmdStoredProc .CommandText = "pr_classificators" .Execute end with Проблема такая - если значение strclass1="", то .Parameters.Append class1 выдает ошибку тогда я ставлю If проверку на пустое значение и вслучае "" не запускаю .Parameters.Append class1 Но в этом случае в процедуру значение параметра class2 подставляется в параметр class1, таким образом ввод данных портится... Что делать, спрашиваю я вас! |
|||
|
||||
| vickr |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 13.5.2003 Где: Санкт-Петербург Репутация: нет Всего: нет |
Да, проблемка неприятная. Один из способов решить ее "в лоб" - передавать не пустую строку, а логически недопустимое значение (например, "NULL" или "DEFAULT"), а в хп, соответственно, эти значения отслеживать и "превращать" их в настоящий NULL. Некрасиво, но действенно. А так, конечно, нужно покопать инфу...
--------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:) |
|||
|
||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Скажи а как это отследить в хп
Я не очень с синтаксисом хп Нет литературы, подскажи где взять и пожалуйста приведи пример по данному случаю(как это отследить в хп). pleaseeeee!!! |
|||
|
||||
| vickr |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 13.5.2003 Где: Санкт-Петербург Репутация: нет Всего: нет |
Так ведь вручную, никаких примочек. Я ж говорю - способ некрасивый. В общем сейчас набросаю суть:
Если ты на клиенте передашь в хп в качестве параметров служебные строковые значения (в данном случае это "NULL"), то в таблицу вставятся зачения NULL, как и подразумевается. --------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:) |
|||
|
||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
vickr
Все хорошо только что делать если у меня параметр типа ntext, тогда выдаеться ошибка, что к типу ntext нельзя применять оператор сравнивания @class1 = 'NULL' Что делать, а |
|||
|
||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Ладно подожду до завтра
Только завтра уж обязательно ответте, хорошо? |
|||
|
||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Тишинааааааа
Что нет умных? |
|||
|
||||
| vickr |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 13.5.2003 Где: Санкт-Петербург Репутация: нет Всего: нет |
nicka
А нужно ли ntext использовать? Тебе необходимо хранить данные до 2Гб? --------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:) |
|||
|
||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Нет, просто у меня текст в Unicode, по-другому не пишет, и потом что ntext , что text , ошибка то все равно одна... |
|||
|
||||
| vickr |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 13.5.2003 Где: Санкт-Петербург Репутация: нет Всего: нет |
А что насчет nvarchar? Это ж тоже Unicode.
--------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:) |
|||
|
||||
| nicka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 11.6.2003 Репутация: нет Всего: 1 |
Да, но мне нужно мемо поле для текстовой большой информации |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |