【问题标题】:I have a stored procedure how to store its output and display in .NET我有一个存储过程,如何在 .NET 中存储其输出和显示
【发布时间】:2013-07-22 05:43:26
【问题描述】:

我有一个表单,其中有一个名为搜索的部分,用户在其中输入一个名称,然后搜索 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

【问题讨论】:

标签: asp.net sql stored-procedures data-binding


【解决方案1】:

在 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();
    }
}

【讨论】:

  • 这将是 sql 查询,然后它将如何显示输出。
  • dbConnectionString 表示传递您的连接字符串,例如 Data Source=servername;Initial Catalog=DatabseName;Persist Security Info=False;User ID=YourSQLUseName;Password=YourSQLPassword 并使用中继器或用于数据显示的gridview。
  • 是的,我已经知道了.. 我想知道如何使用 gridview 显示结果或如何绑定查询.. :(
  • 我已经编辑了我的代码。并从存储过程中获取数据并使用存储过程绑定控件。在评估函数中添加您的列名(在 aspx 页面中)。
  • 谢谢!只是一个问题,这条线在做什么: cmd.CommandText = "GetProduct";
猜你喜欢
  • 1970-01-01
  • 2013-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多