2015-04-03 167 views
1

你好老乡程序员在执行SQL查询,aspx页面

我真的坚持的东西simpliest - 我不能找到一种方法来解决我的问题,而无需使用MVC。

文件夹结构:

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

到目前为止,我mviedb数据库(表用户):

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

我想要做的:基本打印出什么是我的表,所以“SELECT * FROM用户“ - 但我真的不知道如何。我的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) { 

       } 
      } 
     } 
    } 
} 

现在我需要在某处打印DataTable。但是如何?我GOOGLE了一段时间,但无法找到没有mvc的解决方案。

+1

搜索ASP.NET DataBinding和GridView ASPX控件 – Steve 2015-04-03 07:51:21

回答

0

根据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渲染。

+0

嗨,那里。我知道MVC对你很重要,但我想先了解ASPX。这对我来说是非常不直观的(通常用php和mysql来兜兜转转) 编辑:我如何正确链接aspx和aspx.cs?获取aspx.cs文件找不到标签和网格的错误 – daniel 2015-04-08 08:12:23

+0

从一个全新的空白Web窗体开始 - 这应该为您创建.aspx和.aspx.cs文件(事实上,在较新版本的Visual Studio还会有一个automagic .designer.cs)。然后,在“

”元素之后,将上面的 StuartLC 2015-04-08 08:21:38

+0

嗨@StuartLC,我正在与Visual Studio 2010--所以没有设计师为我(我不介意tbo)。我创建了一个新的项目并使用'Default.aspx'和'Default.aspx.cs',它们应该被链接,对吗? – daniel 2015-04-08 08:44:50