急急急急急急急急!!!!! 
private string GetSid() 
        {
            string Sid ="";
            string sql = string.Format("select sid from student where sid='{0}'",txtLoginId.Text);            try
            {
                
                SqlCommand command = new SqlCommand(sql,DBHelper.connection);
                DBHelper.connection.Open();
                SqlDataReader dataReader = command.ExecuteReader();
                if (dataReader.Read())
                {
                    Sid = (string)dataReader[0];
                }
                else
                {
                    MessageBox.Show("该用户不存在!");
                }
                dataReader.Close();
            }
             catch (Exception ex)
            {
                MessageBox.Show("操作数据库出错4!");
                Console.WriteLine(ex.Message);
            }
            finally
            {
                DBHelper.connection.Close();//关闭数据库连接
            }
            return Sid;
        }
判断Sid在数据库中是否存在,若存在,取出Sid,以用于上面的修改表!但是当我输入数据库中存在的用户时,报出“操作数据库出错4!”为什么?是不是“Sid = (string)dataReader[0];”出了问题?谢谢!急!!!!

解决方案 »

  1.   

    Sid = (string)dataReader["sid"];
     
      

  2.   

    SqlCommand command = new SqlCommand(sql,DBHelper.connection); 
    int count = Convert.ToInt32(command .ExecuteScalar());
    if(count > 0)
    {
    //存在
    }
    else
    {
    MessageBox.Show("该用户不存在!"); 
    }
      

  3.   

    楼主参考:
    C#访问SQL Server以及数据操作
      

  4.   

    用它最后加一句是否为空判断一下再读取,一般的强制装换不算好看用用convert.toString();  Sid = convert.toString(dataReader["sid"]); 
      

  5.   


      你把 你查询语句 查处的结果 用 DataTable 接  
    然后 int num= DataTable.Rows.Count  ;
    if(num>0)
    {
     return "此用户存在";
    }
    else
    {
     return "此用户不存在";
    }
      

  6.   

    你数据库里面的SID是不是整型的?