我在
Page_Load
{
if(!IsPostBack)
{
ds=MyData.SelectData(tempSql,tempTable);//将数据库里的数据符值给DataSet,具体代码在下面
}
MyDataGrid.DataSource = ds.Tables["admin"].DefaultView;
MyDataGrid.AllowPaging = true;
MyDataGrid.DataBind();
}
DataGrid到是邦定了
但是在后面的Butt_add_Click方法里面却无法使用ds为什么啊,ds.Tables[0]是空public DataSet SelectData(string Sql,string TableName)
{
da = new SqlDataAdapter(Sql,MyConn);
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
SqlCmdBld = new SqlCommandBuilder(da);
ds.Clear();
da.Fill(ds,TableName);
return ds;
}
Page_Load
{
if(!IsPostBack)
{
ds=MyData.SelectData(tempSql,tempTable);//将数据库里的数据符值给DataSet,具体代码在下面
}
MyDataGrid.DataSource = ds.Tables["admin"].DefaultView;
MyDataGrid.AllowPaging = true;
MyDataGrid.DataBind();
}
DataGrid到是邦定了
但是在后面的Butt_add_Click方法里面却无法使用ds为什么啊,ds.Tables[0]是空public DataSet SelectData(string Sql,string TableName)
{
da = new SqlDataAdapter(Sql,MyConn);
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
SqlCmdBld = new SqlCommandBuilder(da);
ds.Clear();
da.Fill(ds,TableName);
return ds;
}
下面定义的
ds=MyData.SelectData(tempSql,tempTable);放在if(!IsPostBack){}外面的话
却是可以正常使用
但每次点一下bttton都会重新执行这条语句
难到每完成一个数据操功能都要重新执行
ds=MyData.SelectData(tempSql,tempTable);
每当点一个button
页面将会被重新提交一次
所有的数据将会丢失
由于if(!IsPostBack){}原因
所以当点了button以后
没有执行ds=MyData.SelectData(tempSql,tempTable);
那么ds当然为空啊
不过怎么解决呢???
并没有执行
ds=MyData.SelectData(tempSql,tempTable);//这个..因为ispost只有页面第一加载的时候才会执行
{
set{ViewState["yourdataset"] = value;}
get{return (DataSet)ViewState["yourdataset"];}
}
或自定义一个GetData().然后在需要用到数据的时候调用一下。
用Session还是重新读,取决于你的需求和数据的大小。
{
if(!IsPostBack)
{
ds=MyData.SelectData(tempSql,tempTable);//将数据库里的数据符值给DataSet,具体代码在下面
}
MyDataGrid.DataSource = ds.Tables["admin"].DefaultView;
MyDataGrid.AllowPaging = true;
MyDataGrid.DataBind();
}
在ds=MyData.SelectData(tempSql,tempTable);//将数据库里的数据符值给DataSet,具体代码在下面加
cache("ds")=ds
将MyDataGrid.DataSource = ds.Tables["admin"].DefaultView;
中的ds改为cache("ds")
CSDN小助手 是一款脱离浏览器也可以使用csdn论坛的
软件!
界面: http://qqwwee.com/
下载: http://qqwwee.com/csdn.rar 包含源代码
{
set{ViewState["yourdataset"] = value;}
get{return (DataSet)ViewState["yourdataset"];}
}
这个试过好像不行啊
{
da.Update(ChangeDataSet,TableName);
}这个方法不在本页面里面定义的,是在另一个类文件里定的
还是提示引用对象为空