问个接口的问题,

luofuxian 2008-08-02 03:21:08
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就会出错呢?
类实现接口为什么会这样?
...全文
101 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadowjl 2008-08-03
  • 打赏
  • 举报
回复

public DataSet GetdatausersCl()
int GetdatausersCl();
类型不一致
bwangel 2008-08-02
  • 打赏
  • 举报
回复
你的接口返回类型和实现的返回类型都不一致啊?!

happyxzxin 2008-08-02
  • 打赏
  • 举报
回复
bang ding
luofuxian 2008-08-02
  • 打赏
  • 举报
回复
DataSet和DataTable类型和接口是不是有规则啊
luofuxian 2008-08-02
  • 打赏
  • 举报
回复
全不贴出来 ,OK了吧,关键是我改成DataSet和DataTable都会报同样的错误
luofuxian 2008-08-02
  • 打赏
  • 举报
回复
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;
}
}
techsky 2008-08-02
  • 打赏
  • 举报
回复

检查定义:
int InsusersCL();
DataSet UpdusersCL();

去掉()后再试试看!
bwangel 2008-08-02
  • 打赏
  • 举报
回复
楼主的起的类名看都来好费劲.

而且你的接口方法签名明显和类中的方法名称不一致嘛. 代码准确一点好吗?
luofuxian 2008-08-02
  • 打赏
  • 举报
回复
顶者有分
luofuxian 2008-08-02
  • 打赏
  • 举报
回复
顶起来啊
isee1223 2008-08-02
  • 打赏
  • 举报
回复
up...
luofuxian 2008-08-02
  • 打赏
  • 举报
回复
sf,也没人要啊

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧