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

|M| 我也不知道这是不是递归问题 返回一个DateSet的问题 大家快点帮帮看
public   static   DataSet   getmydataset()
{
        DataSet   ds=new   DataSet();
        ds=   ....     //这里ExecuteDataset查出表给DataSet
        if(ds.Tables[0].Rows.Count=0)
        {
                ...       //如果查出来没有记录的话给这个表添加记录
                getmydataset();               //重新对表进行查找    
        }
        return   ds;                         //返回所查找到的DataSet表
}

上面的问题是当原来的表中没有记录的时候给表添加了记录
然后他还会返回空的DataSet
原因是
getmydataset();
重新进行查找的时候return   ds这里会返回有记录的dataset
但是原来的第一次的getmydataset()他也会执行return   ds这一句
而他的ds为空,所以真正返回的是第一次查询出来的ds
而不是我要的第二次的ds
然后我想给
getmydataset();写成
getmydataset();
return;
提示要返回DataSet;
然后也写成
getmydataset();
return   false;  
提示无法将bool转为DataSet
其实我要的只是在这里让他不再向下执行代码了要怎么写啊

以前的如
void   getsrc()
{
      return;
}
可以这样返回

public   static   DataSet   getmydataset()
{        
}
要怎么返回不再执行后面的代码

谢谢

------解决方案--------------------
if(ds.Tables[0].Rows.Count=0) => >

if(ds.Tables[0].Rows.Count==0)
------解决方案--------------------
LZ结贴吧,这100分真容易拿
------解决方案--------------------
public static DataSet getmydataset()
{
DataSet ds=new DataSet();
ds= .... //这里ExecuteDataset查出表给DataSet
if(ds.Tables[0].Rows.Count=0)
{
... //如果查出来没有记录的话给这个表添加记录
ds=getmydataset(); //重新对表进行查找
}
return ds; //返回所查找到的DataSet表
}
------解决方案--------------------
public static DataSet getmydataset()
{
DataSet ds=new DataSet();
ds= .... //这里ExecuteDataset查出表给DataSet
if(ds.Tables[0].Rows.Count==0)
{
... //如果查出来没有记录的话给这个表添加记录
return getmydataset(); //重新对表进行查找
}
return ds; //返回所查找到的DataSet表
}

return getmydataset();
这里直接return就是了。
------解决方案--------------------
return getmydataset(); //重新对表进行查找


*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
用存储过程了..