我正在尝试根据数据库中的数据开发网页。我能够使用从网站复制的代码。这是一行数据。当我添加几行并再次测试时,它仍然只显示一行。然后,当我删除表并重新创建另一个表时,无论我做什么,仍然会显示相同的一行。我重新启动了我的电脑并检查了MS Sql Management Studio,附带的.mdf数据库看起来还不错。这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection scon = new SqlConnection("Data Source = .\\SQLEXPRESS; AttachDbFilename=F:\\WORKSTATION_Main\\WebProjects\\QURA\\2015-06-11_ASP\\qura_A08\\App_Data\\populateDB.mdf; Integrated Security = true; Initial Catalog = populateTable; User Instance=True; MultipleActiveResultSets=True");
StringBuilder htmlString = new StringBuilder();
if (!IsPostBack)
{
using (SqlCommand scmd = new SqlCommand())
{
scmd.Connection = scon;
scmd.CommandType = CommandType.Text;
scmd.CommandText = "SELECT * FROM populateTable";
scon.Open();
SqlDataReader dataReader = scmd.ExecuteReader();
if (dataReader.HasRows)
{
while (dataReader.Read())
{
htmlString.Append(dataReader["dateTime"]);
htmlString.Append(dataReader["statistics"]);
}
populatePlaceHolder.Controls.Add(new Literal { Text = htmlString.ToString() });
dataReader.Close();
dataReader.Dispose();
}
}
}
}
如果有人能告诉我需要做什么,我将不胜感激。提前谢谢。
答案 0 :(得分:0)
我怀疑您要添加数据的数据库与您的程序正在读取的数据库不同。
要测试该理论,您可以删除表格中的所有行,然后运行您的网站以查看它是否仍然显示单行。
希望这有帮助
答案 1 :(得分:0)
把:
populatePlaceHolder.Controls.Add(new Literal { Text = htmlString.ToString() });
在while循环中:
while (dataReader.Read())
{
htmlString.Append(dataReader["dateTime"]);
htmlString.Append(dataReader["statistics"]);
populatePlaceHolder.Controls.Add(new Literal { Text = htmlString.ToString() });
}