У меня проблема с тем, что при доступе и отображении переменных из моего класса с именем Members
в ярлыки при загрузке формы этикетки просто отображают пустые данные.C# Доступ к переменным из класса
Моя программа использует форму входа для этого, и это происходит, когда она получает и устанавливает детали членов в класс. Он использует код ниже:
public class Member
{
public int MemberID { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public string CourseTitle { get; set; }
public string Password { get; set; }
}
private IList<Member> GetMembers()
{
OleDbConnection conn = null;
OleDbDataReader reader = null;
try
{
conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Rhys\Documents\Visual Studio 2013\Projects\AssignmentTrackerV2\AssignmentTrackerV2\bin\Debug\ATDatabase.accdb");
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM MemberDetails WHERE [Name] = @Name AND [Password] = @Password", conn);
cmd.Parameters.AddWithValue("@Name", txtFirstNameLogin.Text);
cmd.Parameters.AddWithValue("@Password", txtPasswordLogin.Text);
reader = cmd.ExecuteReader();
var members = new List<Member>();
while (reader.Read())
{
var member = new Member();
member.MemberID = reader.GetInt32(reader.GetOrdinal("MemberID"));
member.Name = reader["Name"].ToString();
member.Surname = reader["Surname"].ToString();
member.CourseTitle = reader["CourseTitle"].ToString();
members.Add(member);
Form2 frm2 = new Form2();
this.Hide();
frm2.ShowDialog();
}
return members;
}
finally
{
if (reader != null) reader.Close();
if (conn != null) conn.Close();
}
return null;
}
Это в основном просто проверяет пользователь, имя и пароль запись с данными базы данных, и если она будет успешной, то она устанавливает имя, пароль, ID пользователя и название курса в переменных, хранящихся в класс.
Однако, когда я использую этот код под формой 2 события нагрузки
var member = new Member();
lblName.Text = member.Name;
lblSurname.Text = member.Surname;
lblCourseTitle.Text = member.CourseTitle;
Все метки просто оказываются пустыми. Есть идеи?
Ну ... вы создали новый объект-член, без инициализации его значений данных, так что бы вы сделали * Ожидайте, что произойдет? – BradleyDotNET