0

我有一个表单,其中包含一个名为搜索的部分,用户在其中输入一个名称并搜索 3 个表并根据搜索显示输出是否存在。

在下面的示例中,我将查询输入作为“ Joe ”,它将在表中查找其存在并给出表格格式。现在我被困住了,我已经创建了表,sqlprocedure,但是当用户输入名称并单击搜索按钮时我不知道如何调用 sql 过程,并且调用 sqlprocudure 并显示输出而不刷新页面。

请任何代码帮助将不胜感激。

EG 中的描述:我有一张桌子:

CREATE TABLE Table1 (Name Nvarchar(10));
CREATE TABLE Table2 (Name Nvarchar(10));
CREATE TABLE Table3 (Name Nvarchar(10));

INSERT INTO Table1 VALUES ('Joe');
INSERT INTO Table3 VALUES ('Joe');

我有这个 SQL 过程:

SELECT CASE WHEN t1.Name IS NULL THEN 'No' ELSE 'Yes' END as Table1
      ,CASE WHEN t2.Name IS NULL THEN 'No' ELSE 'Yes' END as Table2
      ,CASE WHEN t3.Name IS NULL THEN 'No' ELSE 'Yes' END as Table3
    FROM Table1 t1
    FULL JOIN Table2 t2 ON t1.Name = t2.Name
    FULL JOIN Table3 t3 ON t1.Name = t3.Name OR t3.Name = t2.Name
    AND t1.Name = 'Joe' AND t2.Name = 'Joe' AND t3.Name = 'Joe'

现在的问题是我不太擅长.NET,只是在将这个查询放入 sqlprocedure 部分的 DB 后告诉我。处理搜索查询时,我应该如何将输出调用到我的前端。

我希望有帮助..这是查询的sqlfiddle:

http://sqlfiddle.com/#!6/6f3ad/17

4

1 回答 1

0

在 Aspx 页面中添加数据列表

<table border="0" cellpadding="0" cellspacing="0">
        <asp:DataList runat="server" ID="gvData">
            <HeaderTemplate>
                <tr>
                    <th>
                        ColumnName
                    </th>
                    <th>
                        ColumnName
                    </th>
                    <th>
                        ColumnName
                    </th>
                </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        <%# Eval("Table1").ToString()%>
                    </td>
                    <td>
                        <%# Eval("Table2").ToString()%>
                    </td>
                    <td>
                        <%# Eval("Table3").ToString()%>
                    </td>
                </tr>
            </ItemTemplate>
        </asp:DataList>
</table>

和 aspx.Cs 添加这个方法

public void BindData()
{
    String strConnString = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;

    SqlConnection con = new SqlConnection(strConnString);

    SqlCommand cmd = new SqlCommand();

    cmd.CommandType = CommandType.StoredProcedure;

    cmd.CommandText = "GetProduct";

    cmd.Connection = con;

    con.Open();

    try
    {
        gvData.DataSource = cmd.ExecuteReader();

        gvData.DataBind();
    }

    catch (Exception ex)
    {
        throw ex;
    }

    finally
    {
        con.Close();

        con.Dispose();
    }
}
于 2013-07-22T06:04:56.330 回答