Как показать данные в метках в 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;
}
Другие вопросы по тегам