Параметры в SP(ADO::Comm.) не правильно передаются
От: NikFlipFlop  
Дата: 13.11.01 10:51
Оценка:
Сталкнулся с проблемой вызова хранимых процедур в MS SQL
Но как то они странно передаются похоже как по номеру их добавление в Parameters
В чем дело?
Вот код:
CREATE PROCEDURE [sv_Imp_AddGroup]
(@Survey_ID [int],
@Type_Name [nvarchar](50),
@Group_Name [nvarchar](50),
@Number [int],
@Start_Code [int],
@End_Code [int],
@Group_Level [int]=2)

AS
.............
adoAddParamIntInput(pCmd,L"Survey_ID",m_lSurveyID);
adoAddParamStringInput(pCmd,L"Type_Name",GrupType_name);
adoAddParamStringInput(pCmd,L"Group_Name",Group_Name);
adoAddParamIntInput(pCmd,L"Number",Group_N);
adoAddParamIntInput(pCmd,L"Start_Code",lStartCode);
adoAddParamIntInput(pCmd,L"End_Code",lEndCode);
adoAddParamIntInput(pCmd,L"Group_Level",2);
adoCmdUpdateInsert(pCmd,pConSQL,"sv_Imp_AddGroup");
.....................
long CImpMenDlg::adoCmdUpdateInsert(_CommandPtr &pCmd,_ConnectionPtr &Con, _bstr_t sp_name)
{

long ret_val=0;
_variant_t ret_v_val;

pCmd->ActiveConnection = Con;

pCmd->CommandText = sp_name;
pCmd->CommandType = adCmdStoredProc;

pCmd->Execute(NULL,NULL,adCmdStoredProc | adExecuteNoRecords);

ret_val=1;
return ret_val;
}

void CImpMenDlg::adoAddParamIntInput(_CommandPtr &pCmd,_bstr_t name, int val)
{
_variant_t vt_val;

vt_val.vt = VT_I2;
vt_val.iVal = val;

pCmd->Parameters->Append(pP=pCmd->CreateParameter (name,adInteger,adParamInput,sizeof(int),vt_val));


}
void CImpMenDlg::adoAddParamStringInput(_CommandPtr &pCmd,_bstr_t name, _bstr_t val)
{
pCmd->Parameters->Append(pP=pCmd->CreateParameter (name,adBSTR,adParamInput,val.length() ,val));

}

В аналайзере данные передаются как я их добовляю в Parametors
Но ведь это не правильно. Наверное я ошибся. Может кто то по опытнее подскажет в чем дело
Зарание спосибо всем
Re: Параметры в SP(ADO::Comm.) не правильно передаются
От: IT Россия linq2db.com
Дата: 13.11.01 14:57
Оценка:
Здравствуйте NikFlipFlop, Вы писали:

NFF>В аналайзере данные передаются как я их добовляю в Parametors

NFF>Но ведь это не правильно. Наверное я ошибся. Может кто то по опытнее подскажет в чем дело

А как по-твоему должно быть правильно?
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Параметры в SP(ADO::Comm.) не правильно передаются
От: Аноним  
Дата: 13.11.01 15:25
Оценка:
Здравствуйте IT, Вы писали:

IT>Здравствуйте NikFlipFlop, Вы писали:


NFF>>В аналайзере данные передаются как я их добовляю в Parametors

NFF>>Но ведь это не правильно. Наверное я ошибся. Может кто то по опытнее подскажет в чем дело

IT>А как по-твоему должно быть правильно?


Правельно должно быть так
Какое имя присвоел парамитру к такому параметру должны передоватся данные а остальное NULL или значение по умолчанию
Re[3]: Параметры в SP(ADO::Comm.) не правильно передаются
От: IT Россия linq2db.com
Дата: 13.11.01 16:15
Оценка:
Здравствуйте Аноним, Вы писали:

А>Правельно должно быть так

А>Какое имя присвоел парамитру к такому параметру должны передоватся данные а остальное NULL или значение по умолчанию

Ну дык тогда же и имена надо правильно задавать, не Survey_ID, а @Survey_ID.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Параметры в SP(ADO::Comm.) не правильно передаются
От: NikFlipFlop  
Дата: 13.11.01 17:19
Оценка:
Здравствуйте IT, Вы писали:

IT>Здравствуйте Аноним, Вы писали:


А>>Правельно должно быть так

А>>Какое имя присвоел парамитру к такому параметру должны передоватся данные а остальное NULL или значение по умолчанию

IT>Ну дык тогда же и имена надо правильно задавать, не Survey_ID, а @Survey_ID.

Большое спасибо.

Как я сразу не догодался ;)
Re[5]: Параметры в SP(ADO::Comm.) не правильно передаются
От: NikFlipFlop  
Дата: 14.11.01 13:12
Оценка:
Здравствуйте NikFlipFlop, Вы писали:

NFF>Здравствуйте IT, Вы писали:


IT>>Здравствуйте Аноним, Вы писали:


А>>>Правельно должно быть так

А>>>Какое имя присвоел парамитру к такому параметру должны передоватся данные а остальное NULL или значение по умолчанию

IT>>Ну дык тогда же и имена надо правильно задавать, не Survey_ID, а @Survey_ID.

NFF>Большое спасибо.

NFF>Как я сразу не догодался ;)

Это я поспешил Что добовлял @ что нет одно и тоже. Только по попорядку получается. Я понял что Parameter->name просто так придумали что бы к нему легче обрашатся надо было.
Но все это как то странно?????????????
Re[6]: Параметры в SP(ADO::Comm.) не правильно передаются
От: Lexey Россия  
Дата: 16.11.01 11:19
Оценка:
Здравствуйте NikFlipFlop, Вы писали:

NFF>Здравствуйте NikFlipFlop, Вы писали:


NFF>>Как я сразу не догодался ;)

NFF>Это я поспешил Что добовлял @ что нет одно и тоже. Только по попорядку получается. Я понял что Parameter->name просто так придумали что бы к нему легче обрашатся надо было.
NFF>Но все это как то странно?????????????

Ничего странно. Нужно еще свойство Command::NamedParameters выставить в true. Без него параметры считаются неименованными и передаются по порядку их добавления в коллекцию.
Re[7]: Параметры в SP(ADO::Comm.) не правильно передаются
От: NikFlipFlop  
Дата: 19.11.01 11:02
Оценка:
Здравствуйте Lexey, Вы писали:

L>Здравствуйте NikFlipFlop, Вы писали:


NFF>>Здравствуйте NikFlipFlop, Вы писали:


NFF>>>Как я сразу не догодался ;)

NFF>>Это я поспешил Что добовлял @ что нет одно и тоже. Только по попорядку получается. Я понял что Parameter->name просто так придумали что бы к нему легче обрашатся надо было.
NFF>>Но все это как то странно?????????????

L>Ничего странно. Нужно еще свойство Command::NamedParameters выставить в true. Без него параметры считаются неименованными и передаются по порядку их добавления в коллекцию.


Да. Но как ты узнал. В MSDN и слово про это нет?
Re[8]: Параметры в SP(ADO::Comm.) не правильно передаются
От: Lexey Россия  
Дата: 19.11.01 11:24
Оценка:
Здравствуйте NikFlipFlop, Вы писали:

NFF>>>>Как я сразу не догодался

NFF>>>Это я поспешил Что добовлял @ что нет одно и тоже. Только по попорядку получается. Я понял что Parameter->name просто так придумали что бы к нему легче обрашатся надо было.
NFF>>>Но все это как то странно?????????????

L>>Ничего странно. Нужно еще свойство Command::NamedParameters выставить в true. Без него параметры считаются неименованными и передаются по порядку их добавления в коллекцию.


NFF>Да. Но как ты узнал. В MSDN и слово про это нет?


Хм, как это нет? А это что?

NamedParameters Property
Indicates whether parameter names should be passed to the provider.

Remarks
When this property is true, ADO passes the value of the Name property of each parameter in the Command’s Parameter collection. The provider uses a parameter name to match parameters in the CommandText or CommandStream properties. If this property is false (the default), parameter names are ignored and the provider uses the order of parameters to match values to parameters in the CommandText or CommandStream properties.

P.S. MSDN October 2001. В июльском и апрельском это тоже есть (100%).
Re[9]: Параметры в SP(ADO::Comm.) не правильно передаются
От: Аноним  
Дата: 19.11.01 11:42
Оценка:
Здравствуйте Lexey, Вы писали:

L>Здравствуйте NikFlipFlop, Вы писали:


NFF>>>>>Как я сразу не догодался ;)

NFF>>>>Это я поспешил Что добовлял @ что нет одно и тоже. Только по попорядку получается. Я понял что Parameter->name просто так придумали что бы к нему легче обрашатся надо было.
NFF>>>>Но все это как то странно?????????????

L>>>Ничего странно. Нужно еще свойство Command::NamedParameters выставить в true. Без него параметры считаются неименованными и передаются по порядку их добавления в коллекцию.


NFF>>Да. Но как ты узнал. В MSDN и слово про это нет?


L>Хм, как это нет? А это что? :???:


L>NamedParameters Property

L>Indicates whether parameter names should be passed to the provider.

L>Remarks

L>When this property is true, ADO passes the value of the Name property of each parameter in the Command’s Parameter collection. The provider uses a parameter name to match parameters in the CommandText or CommandStream properties. If this property is false (the default), parameter names are ignored and the provider uses the order of parameters to match values to parameters in the CommandText or CommandStream properties.

L>P.S. MSDN October 2001. В июльском и апрельском это тоже есть (100%).

Да и в MSADO 2.51 этого свойства нет только в 2.6
А как тогда со старой версией работать?
Re[9]: Параметры в SP(ADO::Comm.) не правильно передаются
От: Аноним  
Дата: 19.11.01 12:02
Оценка:
Здравствуйте Lexey, Вы писали:

L>Здравствуйте NikFlipFlop, Вы писали:


NFF>>>>>Как я сразу не догодался ;)

NFF>>>>Это я поспешил Что добовлял @ что нет одно и тоже. Только по попорядку получается. Я понял что Parameter->name просто так придумали что бы к нему легче обрашатся надо было.
NFF>>>>Но все это как то странно?????????????

L>>>Ничего странно. Нужно еще свойство Command::NamedParameters выставить в true. Без него параметры считаются неименованными и передаются по порядку их добавления в коллекцию.


NFF>>Да. Но как ты узнал. В MSDN и слово про это нет?


L>Хм, как это нет? А это что? :???:


L>NamedParameters Property

L>Indicates whether parameter names should be passed to the provider.

L>Remarks

L>When this property is true, ADO passes the value of the Name property of each parameter in the Command’s Parameter collection. The provider uses a parameter name to match parameters in the CommandText or CommandStream properties. If this property is false (the default), parameter names are ignored and the provider uses the order of parameters to match values to parameters in the CommandText or CommandStream properties.

L>P.S. MSDN October 2001. В июльском и апрельском это тоже есть (100%).


Я посмотрел у меня July 2000. Пошел я на базар.

Да вопрос не втему сколько стоит подписака на MSDN
Re[10]: Параметры в SP(ADO::Comm.) не правильно передаются
От: Lexey Россия  
Дата: 19.11.01 12:11
Оценка:
Здравствуйте Аноним, Вы писали:

А>Здравствуйте Lexey, Вы писали:


L>>NamedParameters Property

L>>Indicates whether parameter names should be passed to the provider.

L>>Remarks

L>>When this property is true, ADO passes the value of the Name property of each parameter in the Command’s Parameter collection. The provider uses a parameter name to match parameters in the CommandText or CommandStream properties. If this property is false (the default), parameter names are ignored and the provider uses the order of parameters to match values to parameters in the CommandText or CommandStream properties.

L>>P.S. MSDN October 2001. В июльском и апрельском это тоже есть (100%).

А>Да и в MSADO 2.51 этого свойства нет только в 2.6
А>А как тогда со старой версией работать?

Не знаю. А зачем оно тебе, если можно 2.6 поставить?
Re[10]: Параметры в SP(ADO::Comm.) не правильно передаются
От: Lexey Россия  
Дата: 19.11.01 12:13
Оценка:
Здравствуйте Аноним, Вы писали:

А>Я посмотрел у меня July 2000. Пошел я на базар.




А>Да вопрос не втему сколько стоит подписака на MSDN


На саму Library Микрософт рекомендует цену 199$ (обновление 99$). Реально, думаю, чуть дороже будет.
У меня контора на Universal подписана.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.