删除表后保留asp.net数据库数据

时间:2015-07-14 08:38:44

标签: c# asp.net sql-server-2008

我正在尝试根据数据库中的数据开发网页。我能够使用从网站复制的代码。这是一行数据。当我添加几行并再次测试时,它仍然只显示一行。然后,当我删除表并重新创建另一个表时,无论我做什么,仍然会显示相同的一行。我重新启动了我的电脑并检查了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();
                }               
            }
        }
    }

如果有人能告诉我需要做什么,我将不胜感激。提前谢谢。

2 个答案:

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