本帖最后由 myqq191358662 于 2011-03-01 19:20:07 编辑

解决方案 »

  1.   

    在後面加上comm.Parameters.Direction = 傳入參數類型試試。
      

  2.   

    using (SqlDataReader dataReader = comm.ExecuteReader(CommandBehavior.CloseConnection))
      {
      if (dataReader.Read())
      {}
    }
      

  3.   


    comm.Parameters.Direction 根本点不出来 Direction ...
    -----------------------------------------------
                  1  SqlCommand comm = new SqlCommand("SelectUserInfoByUserNo", conn);
                    //指定Command类型对象
                   2 comm.CommandType = CommandType.StoredProcedure;
                    //查询条件
                  3  comm.Parameters.Add("@UserNo", SqlDbType.Int).Value = userNo;  
    第3句、我已经指定了、我在 sql 里面需要一个@UserNo值、它的类型是 int 、传人的是 = userNo;
      

  4.   

    我用我的SqlDataReader dataReader = comm.ExecuteReader(CommandBehavior.CloseConnection)
    仔细的跟您的对比、发现结果一致...
      

  5.   

    comm.Parameters["@UserNo"].Direction = ParameterDirection.Input;不好意思
      

  6.   

    如夢大哥說得對,中間那句bool answer = dataReader.Read();是多餘的,因為Read()方法是每次都讀一條記錄,你現在根據傳入的ID只能查詢到一條記錄的話,那麼下面這句if (dataReader.Read())
    等於說又去結果集中讀取第二條,那當然是返回false了,結果導致直接跳到最後。
      

  7.   

    我删除了 我的那个  bool answer = dataReader.Read();
    和  answer = dataReader.Read();
    但是直接 来个异常 显示  异常 UserLogionID
      

  8.   

    晕死、原来是  UserLogionID 多写了个 o...谢谢了、此帖可以结了、谢谢各位