这里有一个方法(书上的),可是调用的时候出错,提示:不能将 int 隐示转换成 SqlDataReader ,方法和调用如下。
public static int Login(string Username,string Password)
{
int revalue=0;
SqlDataReader sqldr=null;
               ........
                  cmd.Connection.Close(); return revalue;
}
调用
SqlDataReader sdr= myData.Login (UserCode,UserPwd);
这里就会出错。
要怎么处理才行处理才能进行调用?

解决方案 »

  1.   

    int sdr= myData.Login (UserCode,UserPwd);
      

  2.   

    public static SqlDataReader Login(string Username,string Password)
    {
    int revalue=0;
    SqlDataReader sqldr=null;
                   ........
                      cmd.Connection.Close(); return sqldr;
    }
      

  3.   

    都不行啊,两位,可能我上面的资料少你们不明白什么意思,我全部放上来让你们看一下,我是刚学不久,现在是跟着书看。完整的如下
    public static int Login(string Username,string Password)
    {
    int revalue=0;
    SqlDataReader sqldr=null;
    //生成查询字符串
    string sqlstr="select top 1 UserID from DepartMent where UserID='"+Username+" ' and Pswd='"+Password+" '";
    SqlCommand cmd=new SqlCommand(sqlstr,cnn);
    //检查数据库的壮态,如果是关闭则打开
    if(cmd.Connection.State.ToString()=="Closed")
    cmd.Connection.Open();
    try
    {
    sqldr=cmd.ExecuteReader();
    //读出查询结果,并判断是否为这用户
    sqldr.Read();
    if(sqldr["UserID"].ToString()==Username)
    {
    revalue=1;//是该用户,返回1,否则为0; }
    else
    {
    revalue=0;
    }
    }
    catch
    {
    revalue=0;//没有可读取的行,返回0;
    }
    cmd.Connection.Close(); return revalue;//1表示这用户存在,0表示不存在
    }调用
    SqlDataReader  sdr= myData.Login (UserCode,UserPwd);
    if(sdr!=null)
    {
    if(sdr==0)
    {

    MessageBox.Show("用户和密码不相符");
    }
    else
    {

    MessageBox.Show("登录成功");
    this.Close();
    }

    }
    sdr.Close();
    }
    }
      

  4.   

    SqlDataReader  sdr= myData.Login (UserCode,UserPwd);
    改成
    int sdr= myData.Login (UserCode,UserPwd);
    myData.Login()返回的是int值
    不能赋值给一个对象SqlDataReader
      

  5.   

    对!你的静态函数Login返回值是int。要么就把你的函数返回值改成DataReader
      

  6.   

    如果改了以后,返回的revalue就又不对了,唉,顺便说一下,这是《C#案例开发》这书上的东西,不仅上面这个问题,别的还有问题,这什么书。好垃圾啊。想看一下这书的原代码怎么办吧?可是源码上的写法和书里的又不同,真的让人吐血
      

  7.   

    要是改成返回DataReader,那就直接返回你的sqldr吧!个人感觉现在好多内地出版的书,好像都在抄写MSDN