簡體   English   中英

在aspx頁面上執行SQL查詢

[英]Execute SQL Query on aspx page

各位程序員大家好,

我真的很堅持簡單的事情-如果不使用mvc,我找不到解決問題的方法。

資料夾結構:

project
-> App_Data
----> mviedb.mdf
-> Default.aspx
----> Default.aspx.cs
-> Web.config

到目前為止,我的mviedb數據庫(表用戶):

id | user   | password 
---+--------+------------
1  | daniel | 1
2  | test   | test

我想做的事情:基本上打印出表中的內容,因此“從用戶中選擇*”-但是我真的不知道如何做。 我的Default.aspx.cs文件:

namespace mvie {
    public partial class _Default : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {
            string query = "select * from users";
            if (Query != "") {
                try {
                    SqlDataAdapter adp = new SqlDataAdapter(query, @"data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\mviedb.mdf;User Instance=true");
                    DataTable dt = new DataTable();
                    adp.Fill(dt);

                } catch (Exception ex) {

                }
            }
        }
    }
}

現在我需要在某個地方打印數據表。 但是如何? 我用谷歌搜索了一會兒,但是沒有mvc就找不到解決方案。

根據Steve的評論,ASP.Net WebForms鼓勵您在以表格形式表示數據時使用GridViewRepeater控件。 然后,這會將等效的HTML呈現給瀏覽器。

例如,在.aspx文件的<form runat="server">標記內,添加控件:

<asp:DataGrid runat="server" ID="gridUsers"></asp:DataGrid>
<asp:Label runat="server" ID="lblError"></asp:Label>

並在后面的代碼中:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        var query = "select * from users";
        try
        {
            // DataAdapters and DataTables are IDisposable
            using (var adp = new SqlDataAdapter(query, @"data source=.\SQLEXPRESS;...;"))
            using (var dt = new DataTable())
            {
                adp.Fill(dt);
                // Bind the datatable to the grid
                gridUsers.DataSource = dt;
                gridUsers.DataBind();
            }
        }
        catch (Exception ex)
        {
            lblError.Text = ex.Message;
        }
    }
}

將呈現一個非常基本的表,顯示users表的所​​有列。

但是,如果可以的話,我建議您離開WebForms(這是一項舊技術),而繼續前進到ASP.Net MVC,在該站點中,您將取回控制器中的用戶數據,並直接在視圖。 這樣,您可以更好地控制HTML呈現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM