数据查询显示
在一个窗口中做数据库查询,要显示在另外一个窗口中。应该要怎么做?
是个应用程序。
问题点数:20、回复次数:6Top
1 楼imxh(风轻扬)回复于 2006-05-04 19:05:32 得分 4
打开这个窗口的时候,显示的窗体的数据源做为参数传递过来
然后在这个窗口对数据源进行查询就可以了Top
2 楼ferrari1231()回复于 2006-05-04 20:01:21 得分 0
那具体要怎么搞呢?
我知道要怎么搞,能不能简单的讲讲呢?
如果能给出来个示例就更好了。Top
3 楼Knight94(愚翁)回复于 2006-05-05 08:50:38 得分 8
方法一:
如果你查询的结果是个DataSet对象,那么在初始化显示窗体的时候,把DataSet对象传递过去即可。
方法二:
把需要查询的语句传递过去,即在初始化显示窗体的时候。
大致代码如下:
// Change your open-window constructor
public yourOpenWin( string strQuery )// or use "ref DataSet ds" as constructor parameter
{
// Save parameter as private member
}Top
4 楼cansum396(漆黑的夜)回复于 2006-05-05 09:03:39 得分 0
form2的datagrid设为public
就可以在form1中引用了Top
5 楼pinglan()回复于 2006-05-05 09:42:49 得分 8
如果是自定义参数,直接在定义时设置为public即可;
如果是窗体控件,比如textbox1 ,那么首先把它的Modifiers属性设置为public,然后在第一个窗体Form1的事件[比如“查询按钮”单击事件]里写:
//--------------------------------------------------------------
private void button1_Click(object sender, EventArgs e)
{
Form fm2 = new Form2();
fm2.Owner = this;
fm2.ShowDialog();
}
//---------------------------------------------------------------
在弹出窗体Form2的 Load事件中写:
{
Form1 p = (Form1)this.Owner;
string sqlPrama=p.textbox1.Text;
//-------
//你的查询数据库和邦定查询结果到DataGrid的代码
//-------
}
//---------------------------------
不知道你是不是要这个,说白了就是窗体间传值。
还有一种方法就是使用缓存,先把Form1需要的数据缓存,在Form2中需要用到数据的时候取缓存即可。
初学者,说错了欢迎指教。Top
6 楼ferrari1231()回复于 2006-05-05 13:10:54 得分 0
先试试看
不行再来Top




