SQL Anywhere / ASP.NET - использование SQLDataSource с выходным параметром - PullRequest
0 голосов
/ 28 марта 2012

Я использую базу данных SQL Anywhere от Sybase. v 11.0.1

У меня есть следующая хранимая процедура для вставки строки. я вернуть переменную @@ identity с помощью оператора select.

ALTER PROCEDURE "DBA"."Portal_InsertHeader"( in
theimi integer, in theUser long varchar, in
theNextServiceDate date)
RESULT( ident integer )
BEGIN

insert into
InvoiceCreditHeader(imi,createdby,nextServiceDate)
values(theimi,theUser,theNextServiceDate);

select @@identity;

END

В моем веб-приложении ASP.NET у меня есть следующее в SqlDataSource. Я использую тип вывода в последнем параметр.

<asp:SqlDataSource ID="sqldsHeader" runat="server"
ConnectionString="<%$ ConnectionStrings:MSPortal %>"
ProviderName="<%$
ConnectionStrings:MSPortal.ProviderName %>"
InsertCommand="Call
Portal_InsertHeader(?,?,?)"
InsertCommandType="StoredProcedure">
<InsertParameters>
<asp:Parameter Name="IMI" Type="Int32" />
<asp:Parameter Name="USER" Type="String" />
<asp:Parameter Name="NextServiceDate"
Type="DateTime" />
<asp:Parameter direction="Output"
name="HeaderID" type="Int32" />
</InsertParameters>
<SelectParameters>
<asp:Parameter Name="ID" Type="Int32"
DefaultValue="0" />
</SelectParameters>
</asp:SqlDataSource>

Когда я вызываю метод .Insert, строка вставляется нормально, но когда я пытаюсь проверить выходной параметр в «Вставлено» метод я получаю нулевое значение.

Так что мне нужно изменить, чтобы получить доступ к выходу переменная в коде ASP.NET?

Ответы [ 2 ]

0 голосов
/ 11 апреля 2012

Решением было использование parroter в хранимой процедуре с ключевым словом inout. Использование только «out», похоже, не сработало, но все работало, как ожидалось, когда я изменил его на «inout»

0 голосов
/ 28 марта 2012

Вы просто неправильно указали имя?

<SelectParameters>
    <asp:Parameter Name="HeaderID" Type="Int32" DefaultValue="0" />
</SelectParameters>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...