初学者问题:几个方法中怎么传对象?
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对象的方法。