private void student()
        {
            try
            {
                string str = "select top 1 * from dbo.In_ParentInfo where status=0";
                db.GetDataReader(str);
                PostMsg(sdata.SubmitAddParent("110000000001","/deleteParent",school,stuno,dn),"/deleteParent");
                
            }
            catch (exception ee)
            {
                Console.WriteLine(ee.Message);
            }
PostMsg()函数中的school,stuno,dn应该是从db.GetDataReader里面读取出来了。我不知道这两个参数到底该怎么传,请教各位高手

解决方案 »

  1.   

    DataReader dr = db.GetDataReader(str); 
    if(dr.Read())
    {
        school=dr["school].ToString();
        stuno=dr["stuno].ToString();
        dn=dr["dn].ToString();
    }
      

  2.   

    DataReader dr = db.GetDataReader(str); 
    if(dr.Read())
    {
        school=dr["school"].ToString();
        stuno=dr["stuno"].ToString();
        dn=dr["dn"].ToString();
    }
      

  3.   

    db.GetDataReader(str); 这步给school,stuno,dn赋值了吧...
      

  4.   

    如果你的方法GetDataReader(str)返回的类型为DataSet的话,可以如下取得你要的值DataTable dt= db.GetDataReader(str).Tables[0];string school = dt.Rows[0]["School"].ToString();//如果数据库的字段名为School的话
    string stuno = dt.Rows[0]["stuno "].ToString();//如果数据库的字段名为School的话
    string dn= dt.Rows[0]["dn"].ToString();//如果数据库的字段名为School的话
      

  5.   

    1、方法名尽量用动词,比如GetStudent(), DeleteStudentNo(),而不要用void student()
    2、db.GetDataReader(str)顾名思义是从db中拿一个DataReader,却没有看到赋值给那个变量。
    3、PostMsg中嵌了一个可能是重要的SubmitAddParent调用,这种情况最好要把SubmitAddParent单独列行。
    4、既SubmitAddParent又"/deleteParent",不知何用。这样写程序别人难以理解,你自己也不好维护。
    这样问问题,别人只能胡猜。
      

  6.   


      .....
    string school = string.empty;
    string stuno= string.empty;
    string dn= string.empty;
    DataReader dr = db.GetDataReader(str); 
    if(dr.Read())
    {
        school=dr["school"] as string;
        stuno=dr["stuno"] as string;
        dn=dr["dn"] as string; 
    }
    dr.close();
    PostMsg(sdata.SubmitAddParent("110000000001","/deleteParent",school,stuno,dn),"/deleteParent"); 
      .....