使用sqldatasource执行存储过程并在vb.net中获取返回值

时间:2010-09-15 00:47:56

标签: asp.net sql vb.net sqldatasource

如何使用sqldatasource执行存储过程并获取vb.net中的返回值。

谢谢,

特丽

4 个答案:

答案 0 :(得分:1)

您要查找的方法是DataBind。使用mySqlDataSource.DataBind()

进行调用
<asp:SqlDataSource 
  ID="sds2" 
  runat="server" 
  ConnectionString="..."
  SelectCommand="spTest"      
  SelectCommandType="StoredProcedure"
  >
  <SelectParameters>
    <asp:ControlParameter ControlID="TextBox1" PropertyName="Text"
                              Name="ParamName" Type="Int32" DefaultValue="0" />
  </SelectParameters>
</asp:SqlDataSource>
<asp:GridView ID="gv" runat="server" DataSourceID="sds2"></asp:GridView>

调用DataBind时执行存储过程。如果GridView控件的DataSourceID属性引用有效的数据源控件,则会自动调用DataBind方法。

答案 1 :(得分:0)

您需要SqlConnection使用SqlCommand,如下所示:

using (var connection = new SqlConnection(connectionString))
using (var command = new SqlCommand("StoredProcedureName", connection)) {
    command.CommandType = CommandType.StoredProcedure;
    command.Parameters.AddWithValue("SomeParam", someValue);

    object result = command.ExecuteScalar();
}

答案 2 :(得分:0)

如果您已经让SP返回一个值,那么您必须获取数据源的相应事件中的值。 AKA - 插入,选择等...

以下是一些说明这一点的链接。

http://fredrik.nsquared2.com/viewpost.aspx?PostID=162

http://www.velocityreviews.com/forums/t86158-re-how-to-retrieve-an-output-parameter-using-sqldatasource-control.html

答案 3 :(得分:0)

 <asp:SqlDataSource ID="ADSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ADConnection %>"
    SelectCommand="GetProfile" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:ControlParameter ControlID="InputTextBox" Name="Host" PropertyName="Text" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

GetProfile是存储过程名称,Host是参数名称,从名为InputTextBox的texbox中重新获取