当前位置: 代码迷 >> ASP.NET >> 关于DataSet请问一下
  详细解决方案

关于DataSet请问一下

热度:3123   发布时间:2013-02-25 00:00:00.0
关于DataSet请教一下!
C# code
        private DataSet ds = new DataSet();        protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                ds.Tables.Add();                ds.Tables[0].Columns.Add("a", typeof(string));                 ds.Tables[0].Columns.Add("b", typeof(string));                ds.Tables[0].Columns.Add("c", typeof(string));            }        }        protected void Button1_Click(object sender, ImageClickEventArgs e)        {            DataRow dr = ds.Tables[0].NewRow();            dr[0] = txtBrand.Text;            dr[1] = txtName.Text;            dr[2] = txtType.Text;            ds.Tables[0].Rows.Add(dr);        }

请问:当我点击Button1的时候,报错:
无法找到表 0。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 
这是什么情况?

------解决方案--------------------------------------------------------
每次请求页面,都会重新实例化一个ds,新ds里是没表的,所以报错。用Session或ViewState保存上一次的ds,Page_Load里重新取得;或者ds设为static(网站程序一般不能这样)。
  相关解决方案