我有两个层,一个从数据库中获取结果的数据层和一个将在标签控件中显示数据的UI层 这是数据层的代码
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;
}
}
它是UI图层的代码
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];
}
我的问题是如何在标签上显示数据
提前多多感谢
答案 0 :(得分:3)
您的要求不是很清楚。只是为了让您了解如何做到
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();
}
注意:这不是最好的,也不是适当的做事方式。没有任何异常处理等。
答案 1 :(得分:0)
我会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
}
}
这样你的UI层就可以与实际的对象(实体)交谈,而不必在DataSet
中使用魔术数字,例如依赖于UI中的数据绑定。
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;
}