Как показать данные в метках в C#
У меня есть два слоя, слой данных, который получает результаты из базы данных, и слой пользовательского интерфейса, который будет отображать данные в элементах управления метками. Вот код уровня данных
public class Test_DAL
{
public DataSet getEMP(string name1)
{
string conn = System.IO.File.ReadAllText("Connect.txt");
//string conn="Data Source=.\\sqlexpress;Initial Catalog=pss;Integrated Security=True";
//string conn = ConfigurationManager.ConnectionStrings["constr"].ToString();
SqlConnection dbconn = new SqlConnection(conn);
dbconn.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("select * from pss where Emp_code='"+name1+"'", dbconn);
DataSet ds = new DataSet();
da.Fill(ds);
dbconn.Close();
return ds;
}
}
И это код уровня пользовательского интерфейса
private void btn_search_Click(object sender, EventArgs e)
{
string empcode=txt_empcode.Text;
Test_DAL obj1= new Test_DAL();
obj1.getEMP(empcode);
//dg.DataSource = obj1.getEMP(empcode).Tables[0];
}
И мой вопрос, как показать данные на этикетках
Заранее большое спасибо
2 ответа
Ваше требование не очень понятно. Просто чтобы дать вам представление о том, как вы можете сделать это
private void btn_search_Click(object sender, EventArgs e)
{
string empcode=txt_empcode.Text;
Test_DAL obj1= new Test_DAL();
DataSet ds = obj1.getEMP(empcode);
//displays the data of row 1 column 1 of table 1
yourLabel.Text = ds.Tables[0].Rows[0][0].ToString();
}
Примечание: это не лучший и не самый подходящий способ ведения дел. Нет обработки исключений и т. Д.
Я бы сделал GetEmployee
вернуть фактический Employee
тип.
public Employee getEMP(string name1)
{
// left out some of your code intentionally
da.SelectCommand = new SqlCommand("select * from pss where Emp_code='"+name1+"'", dbconn);
DataSet ds = new DataSet();
da.Fill(ds);
dbconn.Close();
return new Employee(ds);
}
И определить класс Employee
это будет выглядеть
public class Employee
{
public string Name { get; set; }
/* Other properties ... */
public Employee(DataSet dataset)
{
Name = ds.Tables[0].Rows[0][0].ToString();
// etc
}
}
Таким образом, ваш пользовательский интерфейс может общаться с реальными объектами (сущностями), вместо того, чтобы беспокоиться о магических числах в DataSet
и, например, полагаться на привязку данных в вашем пользовательском интерфейсе.
private void btn_search_Click(object sender, EventArgs e)
{
string empcode=txt_empcode.Text;
Test_DAL obj1= new Test_DAL();
var employee = obj1.getEMP(empcode);
dg.DataSource = employee;
}