如何使用sqldatasource执行存储过程并获取vb.net中的返回值。
谢谢,
特丽
答案 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 - 插入,选择等...
以下是一些说明这一点的链接。
答案 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中重新获取