按钮单击在SqlDataSource中运行存储过程

Gap*_*ton 1 c# sql-server asp.net stored-procedures sqldatasource

我正在构建一个C#ASP.NET页面,我想在数据库中调用存储过程.

我已经设置了一个SqlDataSource指向存储过程的东西.参数直接从Web控件获取(TextBox)

我有一个按钮,当用户点击它时它应该运行存储过程,所以我打算添加如下代码:

mySqlDataSource.run()
Run Code Online (Sandbox Code Playgroud)

要么

mySqlDataSource.exec()
Run Code Online (Sandbox Code Playgroud)

要么

mySqlDataSource.storedProcedure()
Run Code Online (Sandbox Code Playgroud)

但当然这些方法都不存在.

如何初始化存储过程?如何获取存储过程返回的值?

谢谢!

nun*_*cal 11

我认为你正在寻找的方法是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>
Run Code Online (Sandbox Code Playgroud)

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