日期:2014-05-19  浏览次数:20442 次

如何返回多个值?
我想在一个button的onclick事中通过调用自写的函数getYM()获得若干个数据库字段的值.请问如何写?

        protected   void   btnLogin_Click(object   sender,   EventArgs   e)
{
      //     ???   getYM();
}

        protected   void   getYM()
{
                string   sqlText   =   "select   GZYear,GZMonth   from   GZMonth ";
                ....
                SqlDataReader   dr   =   new   SqlDataReader();
                dr   =   cmd.ExecuteReader;
                return   dr;
}

我是菜鸟,
1\首先不知道这个getYM()应该给写义什么类型的函数
2\其次是直接传dr还是先在getYM()里用dr[ "0 "],dr[ "1 "]等读出给变量str1,str2然后再传str1和str2?
3\若是传dr,   button的onclick事件中如何写获取getYM中的dr,然后又如何取出?
4\若是传str1\str2呢?是否写义为string就可以?

希望大家详细点.谢谢了.




------解决方案--------------------
可以有很多方法啊.
比如使用ArrayList就可返回多条数据...
------解决方案--------------------
public DataSet getYM(String strSQL)
{
SqlConnection conn;
SqlDataAdapter apater;
DataSet dstResult;

SqlConnection conn = new SqlConnection( "server=localhost;database=pubs;uid=sa;pwd= ");
conn.open();
apater = New SqlDataAdapter(strSQL, conn);
dstResult = New DataSet();
apater.Fill(dstResult);
return dstResult;
}

protected void btnLogin_Click(object sender, EventArgs e)
{
String str1;
String str2;
DataSet ds = new DataSet();
ds = DataBaseSelect( "select GZYear,GZMonth from GZMonth ");
str1 = ds.tables[0].rows[0].item[0];
str2= ds.tables[0].rows[0].item[1];

}