如何将datacolumn值分配给变量并以不同的方法使用此变量

时间:2011-07-14 18:40:43

标签: c# .net dataset dataadapter

我们可以将数据列值分配给变量,并以不同的方法使用此变量。 我有以下代码

button_click()
{
create and fill data set as data adapter.fill(data set,"ABC"); 
and then 
int x= data set.tables["ABC"].rows[0]["col name"] ;
}

and i have another method button_click2()
{
int y = x;
}
我能这样做吗?或者有什么方法可以将数据set.tables [“ABC”]。rows [0] [“col name”]值直接分配给x

2 个答案:

答案 0 :(得分:0)

由于您没有指定它是Web应用程序或窗口应用程序,我将按照下面的说明回答它。

在这种情况下,页面将进行回发,您的变量将丢失。所以只有你可以保存值的方法是将它添加到viewstate / session / pass作为查询字符串到同一页面或将它放在一些隐藏的控件中。

从一个页面中保留ASP.NET中变量的最佳选择方法 加载到下一个是将它们存储在viewstate中,这是一个隐藏的输入。

您可以在ViewState中存储项目,如:

ViewState[key] = value;

And retrieve it like:

value = ViewState[key]

OR

Session["username"] = username

And access it 

String Username = Session["username"];

如果它的Window应用程序可以有一个全局变量,它将在事件之间保留。

Public class Test{

private int x= 0;//this is global here.

button_click()
{
create and fill data set as data adapter.fill(data set,"ABC"); 
and then 
x= data set.tables["ABC"].rows[0]["col name"] ;
}

and i have another method button_click2()
{
int y = x;
}

}

答案 1 :(得分:0)

如果您在方法外创建变量,则可以在类中的任何位置使用它。

public class Test
{
     private int ColValue {get;set;} //This is a property

     button_click()
     {
          ColValue = Convert.ToInt(dataset.tables["ABC"].rows[0]["col name"].ToString()) ;
     }

     button_click2()
     {
         int y = ColValue ;
     }
}

如果您使用的是Asp.net,请参阅user608576关于在Viewstate中存储值的答案。