public interface Sk_usersCL
    {
         //一些其他东西
        int InsusersCL();
        DataSet UpdusersCL();    }
 public class sk_usersclsCL : Sk_usersCL
    {
        //-----定义变量等东西------//
public int InsusersCL()
        {
            Open();
            string strinssql = "insert into users (user_name,pwd,sex) values('"+UserName+"','"+PassWord+"','"+Sex+"')";
            SqlCommand cmd = new SqlCommand(strinssql, conn);
            int intnum = cmd.ExecuteNonQuery();
            Close();
            return intnum;
        }
        public DataSet GetdatausersCl()
        {
            Open();          
            string strgetsql = "select * from users where user_name='"+UserName+"'and pwd='"+PassWord+"'";
            SqlDataAdapter da = new SqlDataAdapter(strgetsql,conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            return ds;
            
        }    }
报错误:
错误 1“Sk_usersCL.sk_usersclsCL”不会实现接口成员“Sk_usersCL.Sk_usersCL.GetdatausersCl()”。“Sk_usersCL.sk_usersclsCL.GetdatausersCl()”或者是静态、非公共的,或者有错误的返回类型。 D:\test\Sk_usersCL\Sk_usersCL\sk_usersCL.cs 22 18 Sk_usersCL
我要问的问题:
为什么返回值为string和int的函数都不会有问题,而改成DataTable和DataSet就会出错呢?
类实现接口为什么会这样?

解决方案 »

  1.   


    检查定义:
    int InsusersCL();
    DataSet UpdusersCL();去掉()后再试试看! 
      

  2.   

        public interface Sk_usersCL
        {
            int Uid { get;}
            string UserName { set;get;}
            string PassWord { set;get;}
            string Sex { set;get;}
            string Connectionstring { set;get;}
            int InsusersCL();
            int GetdatausersCl();
            DataSet UpdusersCL();    }
        public class sk_usersclsCL : Sk_usersCL
        {
            private int puid;
            private string pusername;
            private string ppassword;
            private string psex;
            private string pconnectionstring;
            private SqlConnection conn;        public int Uid
            {
                get { return puid; }
            }
            public string UserName
            {
                set { pusername = value; }
                get { return pusername; }
            }
            public string PassWord
            {
                set { ppassword = value; }
                get { return ppassword; }
            }
            public string Sex
            {
                set { psex = value; }
                get { return psex; }
            }
            public string Connectionstring
            {
                set { pconnectionstring = value; }
                get { return pconnectionstring; }
            }
            public void Open()
            {
                conn = new SqlConnection(pconnectionstring);
                if (conn.State == System.Data.ConnectionState.Closed)
                {
                    conn.Open();
                }
            }
            public void Close()
            {
                if (conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            public int InsusersCL()
            {
                Open();
                string strinssql = "insert into users (user_name,pwd,sex) values('"+UserName+"','"+PassWord+"','"+Sex+"')";
                SqlCommand cmd = new SqlCommand(strinssql, conn);
                int intnum = cmd.ExecuteNonQuery();
                Close();
                return intnum;
            }
            public DataSet GetdatausersCl()
            {
                Open();          
                string strgetsql = "select * from users where user_name='"+UserName+"'and pwd='"+PassWord+"'";
                SqlDataAdapter da = new SqlDataAdapter(strgetsql,conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                return ds;
                
            }
            public int UpdusersCL()
            {
                Open();
                string strupdsql = "update users set pwd='"+PassWord+"' where user_name='"+UserName+"'";
                SqlCommand cmd = new SqlCommand(strupdsql,conn);
                int rcount = cmd.ExecuteNonQuery();
                Close();
                return rcount;
            }
        }
      

  3.   

    全不贴出来 ,OK了吧,关键是我改成DataSet和DataTable都会报同样的错误
      

  4.   

    DataSet和DataTable类型和接口是不是有规则啊
      

  5.   


            public DataSet GetdatausersCl() 
    int GetdatausersCl(); 
    类型不一致