读书人

菜鸟有关问题:几个方法中如何传对象

发布时间: 2012-01-09 21:05:42 作者: rapoo

初学者问题:几个方法中怎么传对象?
private void btnStart_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(txtConnectionString.Text);
con.Open();
SqlDataAdapter sda = new SqlDataAdapter("select * from Forum", con);
DataSet ds = new DataSet();
sda.Fill(ds, "Forum");
dataGrid1.DataSource = ds.Tables["Forum"];
}

private void btnSave_Click(object sender, EventArgs e)
{

}
请问一下大家,在Windows应用程序中,方法中怎么传对象呢?就象上面,我要在第二个单击事件里得到第一个方法里的ds对象,有什么简单的写法呢?谢谢大家!

[解决办法]
你的dataGrid1 是winform 里面的DataGrid 吧 不是ASP.NET 的DataGrid (因为你没有用DataBind)

那样的话,
你只要

DataSet ds = ((DataTable)dataGrid1.DataSource).DataSet;

就可以得到那个ds 的对象了
[解决办法]
看你的代码,应该是两个事件中共用一个数据库资源,但你想在第二个事件中直接使用第一个事件里的对象是不行的,因为事件不能额外传递数据。你可以将数据库操作放到一个单独的类中,此类最好用单例模式。这样你在这个类中定义返回各种对象的方法就行了。

如你上面的例子只要:

private void btnStart_Click(object sender, EventArgs e)
{
dataGrid1.DataSource = mydb.gettable("sql语句或表名");
}


gettable就是返回table对象的方法。

读书人网 >C#

热点推荐