Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADODB.Command&Null / 9 сообщений из 9, страница 1 из 1
22.11.2007, 18:02
    #34959406
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Command&Null
MSSQL Server 2000SP4, VB6.0SP6, ADO2.8SP1

Set MyParam = MyCommand.CreateParameter("@IDEmploy", adVariant, adParamInput, , Null)

Set MyParam = MyCommand.CreateParameter("@EndDate", adVarChar, adParamInput, 8, Null)

потом когда запускаю команду (это хп) в профайлере в первом случае ловлю -1, а во втором Null, как положено...
почему -1 ?!?!????
...
Рейтинг: 0 / 0
22.11.2007, 18:04
    #34959413
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Command&Null
d в первом случае правильная строка
Set MyParam = MyCommand.CreateParameter("@IDEmploy", adSmallInt, adParamInput, , Null)
...
Рейтинг: 0 / 0
22.11.2007, 18:27
    #34959476
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Command&Null
заменять везде adSmallInt на adVarChar как-то не особо корректно...
как передать NULL, если параметр имеет тип adSmallInt (соответственно в хп на серере тип параметра SMALLINT)?
...
Рейтинг: 0 / 0
23.11.2007, 09:30
    #34960157
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Command&Null
авторкак передать NULL, если параметр имеет тип adSmallInt (соответственно в хп на серере тип параметра SMALLINT)?
в ХП прописать значение по умолчанию = Null и этот параметр вообще не генерировать в программе


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
23.11.2007, 16:52
    #34961961
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Command&Null
вообще вот здесь
Set MyParam = MyCommand.CreateParameter("@IDEmploy", adSmallInt, adParamInput, , Null)
Null написан для наглядности, т.е. фактически там переменная, одним из значений которой может быть Null

HandKot, это не тот случай, тогда параметра не было бы вообще, была бы переменная в хп...
...
Рейтинг: 0 / 0
23.11.2007, 18:03
    #34962168
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Command&Null
не совсем понятно
я имел следующее

Код: plaintext
1.
2.
if MyVar = (не пусто, т.е ее надо передать в ХП) Then
  Set MyParam = MyCommand.CreateParameter("@IDEmploy", adSmallInt, adParamInput, , Null)
end if

т.е если переменная задает Null, то параметр не передавать
а в ХП для этго параметра задать по умолчанию Null


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
26.11.2007, 11:40
    #34964591
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Command&Null
HandKot
Код: plaintext
if MyVar = (не пусто, т.е ее надо передать в ХП) 

Вот в этом вся соль. Если MyVar числовая переменная (integer, к примеру), то присвоить ей Null нельзя, только Empty. Можно, конечно, и Empty обрабатывать...
Но дело в том, что на VB пишется OCX, который потом предполагается юзать из Delphi. Не уверен, что последний понимает, что такое vb-шный Empty...
Остается Dim MyVar AS Variant, что как бы не есть хорошо...
...
Рейтинг: 0 / 0
26.11.2007, 12:52
    #34964871
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Command&Null
авторНо дело в том, что на VB пишется OCX, который потом предполагается юзать из Delphi.Вот ведь завернул! Ну наоборот я бы еще понял. Может автору стоит пересмотреть всю концепцию приложения.
...
Рейтинг: 0 / 0
26.11.2007, 19:03
    #34966384
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Command&Null
да нет не стоит, ничего такого в этом нет. а про эффективность кода, готорый "генерит" делфи =) почитайте в инете смаостоятельно - это далеко не инструмент для разработки OCX-ов...

клиент пишется другим человеком на делфи
система подотчетности простая - на базе Excel, однако автор не особо разбирается как управлять Ecxel'ем программно, а мне проще на VB
этот компонент больше ничего не делает, так сказать обертка - на входе ряд параметров, на выходе готовый отчет в Excel...
так что не надо делать поспешных выводов, не зная задачи и ее условий
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADODB.Command&Null / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]