【发布时间】:2016-02-11 07:50:15
【问题描述】:
大家好! 我正在尝试制作一个程序,从数据库中返回特定电子邮件地址的会议详细信息。现在的问题是,我正在尝试使用这些构造一个 JSON 响应:
[DataContract]
public class Meetings
{
public string PresiderEmailAddress { get; set; }
public List<MeetingDetails> Allmeeting { get; set; }
}
[DataContract]
public class MeetingDetails
{
[DataMember(Order = 0)]
public long MeetingId { get; set; }
[DataMember(Order = 1)]
public string MeetingNumber {get; set;}
[DataMember(Order = 2)]
public string MeetingName {get; set;}
[DataMember(Order = 3)]
public string MeetingDescription {get; set;}
[DataMember(Order = 4)]
public string MeetingDate {get; set;}
[DataMember(Order = 5)]
public string MeetingVenue {get; set;}
[DataMember(Order = 6)]
public string TimeStarted {get; set;}
[DataMember(Order = 7)]
public string TimeEnded {get; set;}
[DataMember(Order = 8)]
public decimal CompletionRate {get; set;}
[DataMember(Order = 9)]
public string Remarks {get; set;}
}
public Meetings retrieveMeetingDetailsByEmail(string EmailAddress)
{
SqlConnection EMTConnection2 = new SqlConnection();
EMTConnection2.ConnectionString = constring;
EMTConnection2.Open();
SqlDataReader dr2;
string EMTQuery2 = "Select * from dbo.Meeting where PresiderEmailAddress = @PresiderEmailAddress";
SqlCommand EMTCommand2 = new SqlCommand(EMTQuery2, EMTConnection2);
EMTCommand2.Parameters.AddWithValue("@PresiderEmailAddress", EmailAddress);
dr2 = EMTCommand2.ExecuteReader();
if (dr2.HasRows)
{
while (dr2.Read())
{
var meeting = new Meetings
{
Allmeeting = new List<MeetingDetails>
{
new MeetingDetails{MeetingId = Convert.ToInt64(dr2["MeetingId"]), MeetingNumber = dr2["MeetingNumber"].ToString(), MeetingName = dr2["MeetingName"].ToString(), MeetingDescription = dr2["MeetingDescription"].ToString(), MeetingDate = Convert.ToDateTime(dr2["MeetingDate"]).ToShortDateString().ToString(), MeetingVenue = dr2["MeetingVenue"].ToString(), TimeStarted = dr2["TimeStarted"].ToString(), TimeEnded = dr2["TimeEnded"].ToString(), CompletionRate = Convert.ToDecimal(dr2["CompletionRate"]), Remarks = dr2["Remarks"].ToString()}
}
};
}
}
EMTConnection2.Close();
dr2.Close();
}
问题是,如何将所有数据返回给客户端?它总是告诉我该方法应该有一个返回值,我不知道我应该在哪里返回什么。 我真的很困惑。
【问题讨论】:
-
在
new MeetingDetails { ... }完成所有分配后,您的意思是?然后在方法的最后,你需要一个return meeting;,因为meeting超出范围,所以你需要在外部范围内声明它,例如在if()之前.无论如何,请阅读How to Ask,“我很困惑”不是我们可以回答的问题。 -
很抱歉。这里还是新手。是的,在所有任务之后。我应该把退货声明放在哪里?我无法访问会议变量。
-
方法结束。