【发布时间】:2016-03-27 16:46:47
【问题描述】:
你好,我尝试创建一个名为“gerant”的对象
class gerant
{
public double CIN_GERANT, NUM_TEL_GERANT, MOBILE_GERANT;
public string NOM_GERANT, PRENOM_GERANT, ADRESSE__GERANT, MAIL_GERANT, VILLE_GERANT;
public int CP_GERANT;
public DateTime DATE_GERANT;
public gerant(double _Cin_gerant, string _Nom_Gerant, string _Prenom_Gerant, string _Adresse_Gerant, double _Num_Tel_Gerant, string _Mail_Gerant, double _Mobile_Gerant, int _cp_gerant, string _ville_gerant, DateTime _date_gerant)
{
this.CIN_GERANT = _Cin_gerant;
this.NOM_GERANT = _Nom_Gerant;
this.PRENOM_GERANT = _Prenom_Gerant;
this.ADRESSE__GERANT = _Adresse_Gerant;
this.NUM_TEL_GERANT = _Num_Tel_Gerant;
this.MAIL_GERANT = _Mail_Gerant;
this.MOBILE_GERANT = _Mobile_Gerant;
this.CP_GERANT = _cp_gerant;
this.VILLE_GERANT = _ville_gerant;
this.DATE_GERANT = _date_gerant;
}
public gerant getinfogerant()
{
gerant gerer = null;
string sql_gerant = "select CIN,NOM,PRENOM,ADRESS_PERSONNEL,NUM_TEL,MAIL,MOBILE,CP_GERANT,VILLE_GERANT,DATE_CIN from GERANT";
connexion connect = new connexion();
OleDbConnection connection = connect.getconnexion();
// try
//{
connection.Open();
OleDbCommand cmd = new OleDbCommand(sql_gerant, connection);
OleDbDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
gerer = new gerant(reader.GetDouble(0),
reader.GetString(1),
reader.GetString(2),
reader.GetString(3),
reader.GetDouble(4),
reader.GetString(5),
reader.GetDouble(6),
reader.GetInt32(7),
reader.GetString(8),
reader.GetDateTime(9)
);
}
connection.Close();
return gerer;
}
}
但是当我尝试用 gerant 填充我的组合框时,我尝试插入此代码
foreach(Modele.gerant ligne in liste_gerant)
{
}
但我为我犯了这个错误 foreach 语句不能对“gerant”类型的变量进行操作,因为“gerant”不包含“GetEnumerator”的公共定义
我该如何解决?
【问题讨论】:
-
什么是
Modele.gerant?它是一个类还是一个领域?它的类型是什么?liste_gerant是什么?它是一个类还是一个领域?它的类型是什么? -
liste_gerant是如何定义的? -
您的
getinfogerant正在返回单个对象,如果您尝试将其用于组合框下拉菜单。 -
需要在liste_gerant上实现
IEnumerable接口。如果您希望我们帮助您,您需要发布liste_gerant的定义。 -
getinfogerant仅返回单个项目,而不是列表,因此您无法对其进行迭代。这是没有意义的,因为它只有一项,你不需要 for-each。