我的函数是这样的。
public  DataSet ExcuteDS(string SqlStr)
{
CoreLab.PostgreSql.PgSqlDataAdapter PgDa = new PgSqlDataAdapter(SqlStr,PgCn);
DataSet DS = new DataSet();
PgDa.Fill(DS);

return DS;
}
返回记录只有一条的时候我希望返回DataReader,函数怎么写?
谢谢

解决方案 »

  1.   

    那你取数据的时候怎么办啊?
    你用dataset还是datareader?还是重写一个方法吧
    专门返回datareader的
      

  2.   

    SqlCommand myCMD = new SqlCommand("SELECT CategoryID, CategoryName FROM Categories;" +
                                      "SELECT EmployeeID, LastName FROM Employees", nwindConn);
    nwindConn.Open();SqlDataReader myReader = myCMD.ExecuteReader();do
    {
      Console.WriteLine("\t{0}\t{1}", myReader.GetName(0), myReader.GetName(1));  while (myReader.Read())
        Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1));} while (myReader.NextResult());myReader.Close();
    nwindConn.Close();
      

  3.   

    public  object ExcuteDS(string SqlStr)
    {
    CoreLab.PostgreSql.PgSqlDataAdapter PgDa = new PgSqlDataAdapter(SqlStr,PgCn);
    DataSet DS = new DataSet();
    PgDa.Fill(DS);
    if(DS.Tables[0].Rows.Count==1)
    { CoreLab.PostgreSql.PgSqlCommand cmd=new PgSqlCommand (SqlStr,PgCn)
    PgCn.Open();
    return (object)cmd.ExecuteNonecury();}
    else
    return (object)DS;
    }
      

  4.   

    我就是想重写一个ExcuteDataReader 函数,return DataReader我不知道怎么写。
    很久没有写.NET的程序了,现在很陌生。
    谢谢楼上和楼下的
      

  5.   

    SqlCommand comm = new SqlCommand(sqlStr, PgCn);
        SqlDataReader reader = comm.ExecuteReader();
       
        return reader;
      

  6.   

    回答好快啊。谢谢~~我知道怎么做了
    楼上地那么多朋友!唉.NET真是火爆啊,我在Linux板问问题半天都没人回答。
      

  7.   

    Commnad.ExecuteReader() 方法,
    好像是...