Sql 获取&;将搜索传递给存储过程

Sql 获取&;将搜索传递给存储过程,sql,vb.net,Sql,Vb.net,你好,我已经找到了一些例子,接近我想要的,例如,然而我只是努力看到这一个树木的木材 我有一个SQL数据库&其中有一个存储过程,它有一个变量@ModuleName 我希望用户在文本框中键入文本,然后单击搜索。单击搜索时,在搜索框中键入的单词将传递到@ModuleName,即Searchtext.txt=@ModuleName 然后将其传递到StoredProcess,并用于为Gridview创建名为GridView1的SQL 我已经尝试了很多技巧,但显然遗漏了一些东西 存储过程 ALTER PRO

你好,我已经找到了一些例子,接近我想要的,例如,然而我只是努力看到这一个树木的木材

我有一个SQL数据库&其中有一个存储过程,它有一个变量@ModuleName

我希望用户在文本框中键入文本,然后单击搜索。单击搜索时,在搜索框中键入的单词将传递到@ModuleName,即Searchtext.txt=@ModuleName

然后将其传递到StoredProcess,并用于为Gridview创建名为GridView1的SQL

我已经尝试了很多技巧,但显然遗漏了一些东西

存储过程

ALTER PROCEDURE [dbo].[spModuleID]

@ModuleName char(50)

AS
 BEGIN
 select * from dbo.ModuleID where [ModuleName] = @ModuleName ORDER BY [ModuleName]

 END
Gridview1链接到SQL如下

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataSourceID="SqlDataSource1" AllowPaging="True" AllowSorting="True" 
            DataKeyNames="ModuleID">
            <Columns>
                <asp:BoundField DataField="ModuleID" HeaderText="ModuleID" ReadOnly="True" 
                    SortExpression="ModuleID" />
                <asp:BoundField DataField="ModuleName" HeaderText="ModuleName" 
                    SortExpression="ModuleName" />
            </Columns>
        </asp:GridView>

你忘了添加
SqlDataSource1
code了吗?我得到了:受保护的子SqlDataSource1\u选择(发送者作为对象,e作为系统.Web.UI.WebControls.SqlDataSourceSelectingEventArgs)处理SqlDataSource1。选择GridView1.DataSource=SqlDataSource1 GridView1.DataBind()结束子项,然后获取错误:DataSource和DataSourceID都是在“GridView1”上定义的。删除一个定义。我可以通过单击“添加连接”来显示Datagrid,但这当然会破坏搜索的想法。您存储的进程是错误的。您有一个名为@modulename的参数,但在过程中没有使用它。您要查询的表的名称是什么?tbModule是表名
Protected Sub Search(sender As Object, e As System.EventArgs) Handles btnSearch.Click

        Dim myds As New DataSet1

        MyConnection.ConnectionString = LearnConnectionString
        Dim disp As New SqlDataAdapter("spModuleName", MyConnection)
        disp.Fill(myds, "dev_display")

        'Below wants to be a datagrid

        txtDisplay.Text = myds.Tables("dev_display").Rows(0).Item("knownsoft")
        myds.Dispose()


    End Sub
Imports System.Data.OleDb


Dim cmd as new Oledb.OleDbCommand
Dim connection As New SqlConnection("Connection String")


cmd.Connection = connection
cmd.CommandText = "SP_NAME"
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@PARAMETER_NAME", "PARAMETER_VALUE")

Dim adapter As New SqlDataAdapter(CMD)

 Dim DS as DataSet    
 adapter.Fill(DS)
 connection.Close() 
ds.Dispose()
ds = Nothing