初学ASP.NET,写一个留言板的小程序,前两天都还行,明天不知道改了哪,留言内容就不能正确显示了.以下是代码,烦各位帮我看看using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace book
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
///      public class show : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1; int startIndex=0;

        private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
//使用 Binding 的方法
Binding() ;
}

} private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); } private void Binding()
{
string strConn=@"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=";
strConn+=Server.MapPath("\\book\\book.mdb");            OleDbConnection myConn = new OleDbConnection(strConn); string strCom;
//检查该页面是否第一次被装载
if(!IsPostBack)
{
//设置变量的初始值
startIndex =0;
//查询字符串
strCom = "SELECT TOP 1 id FROM main ORDER BY id DESC" ;
//生成一个查询命令
OleDbCommand countCommand = new OleDbCommand(strCom, myConn);
//打开连接
myConn.Open();
//生成一个 DataReader
OleDbDataReader countReader = countCommand.ExecuteReader();
//检查是否 DataReader 中有记录
if(!countReader.Read())
{
//如果没有记录存在,设置一个虚拟计数
DataGrid1.VirtualItemCount=0;
}
else
{
//设置虚拟计数的总数
DataGrid1.VirtualItemCount= countReader.GetInt32(0);
}
//关闭连接
myConn.Close(); }
//设置显示的记录为20条          strCom = "SELECT TOP 20 name as 昵称,sex as 性别,title as 标题,content as 内容 FROM main ";
strCom+= "WHERE id < "+(DataGrid1.VirtualItemCount-(startIndex-1) );
strCom+=" ORDER BY id DESC" ;

OleDbCommand forumCommand = new OleDbCommand(strCom, myConn);
myConn.Open();
OleDbDataReader forumReader = forumCommand.ExecuteReader();
//设置数据源
DataGrid1.DataSource = forumReader ;
//数据绑定
DataGrid1.DataBind();
myConn.Close();

} }
}