我想在我的网站上展示我的数据库行的内容。 这是我的代码:
public partial class Movies : System.Web.UI.Page
{
private string ConString = "Data Source=MICROSOF-58B8A5\\SQL_SERVER_R2;Initial Catalog=Movie;Integrated Security=True";
private SqlConnection Con ;
private SqlCommand cmd ;
private SqlDataAdapter adapter ;
private string SqlQuery = "SELECT * FROM Movies";
private DataTable dt;
public DataTable DT
{
get { return dt ;}
set { value = dt; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserEnter"] != null)
{
UserNameOrGuest.Text = Session["UserEnter"].ToString();
}
//else
//{
// Response.Redirect("Home.aspx");
//}
this.Con = new SqlConnection(ConString);
this.Con.Open();
this.cmd = new SqlCommand(SqlQuery, Con);
this.adapter = new SqlDataAdapter(SqlQuery,Con);
dt = new DataTable();
adapter.Fill(dt);
}
这是我的网络形式:
<%foreach (System.Data.DataRow dataRow in DT.Rows )
{
Label1.Text = DT.Rows[0]["Title"].ToString;
} %>
为什么它不能正确呈现?
谢谢!
答案 0 :(得分:2)
您已经遍历了页面中的所有行,但是您将相同值(第一部电影的标题)分配给相同的标签(Label1) 。
相反,使用foreach循环,您将显示每行的数据,如下所示:
<% foreach (System.Data.DataRow dataRow in DT.Rows ) { %>
<% = dataRow["Title"].ToString %>
<br />
<% } %>
请注意,在循环内部,您可以单独访问每一行。所以,只要在你去的时候写出列的值。
答案 1 :(得分:0)
您应该使用:
Label1.Text = dataRow["Title"].ToString;
这应该有用!
答案 2 :(得分:0)
你在写: dt = new DataTable();
然后在你的页面中你有:
&lt;%foreach(DT.Rows中的System.Data.DataRow dataRow)
“DT”是你的类,“dt”是你真正包含的数据表。它应该是:
&lt;%foreach(dt.Rows中的System.Data.DataRow dataRow)//小写dt