![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
这个方法没看懂,求大神解释! 30
这个方法在CompanyService这个类里面 展开
GetaddrAll方法返回的是一个DataTable类型的表,所以你调用它要先new一个DataTable的变量来接收,然后再用foreach 把这个表的每一行取出来就OK了。
先解释下这个方法:
public static DataTable GetaddrAll()
//定义一个公共访问的静态方法GetaddrAll,其中DataTable为返回值的类型,这个方法没有参数
{
string sql="select Caddr from company";
//定义一个string类型的变量sql,即要传入方法GetDataTable的参数,这是一条sql语句,是从数据表company中查找Caddr字段
try//尝试执行大括号中的代码,用于检查错误
{
return sqlDBHelper.GetDataTable(sql);
//调用sqlDBHelper中定义好的方法GetDataTable,并将sql语句传进去,然后return返回一个DataTable类型的数据表.
}
catch(Exception)//如果上面的尝试执行失败,则读出异常的原因,并在下面的throw中显示出来.
{
shrow;
}
下面说下调用的方法:
DataTable table= CompanyService.GetaddrAll();
//定义一DataTable类型的变量table ,接收GetaddrAll()方法的返回值
foreach (DataRow row in table.Rows)//遍历table中的每一行数据
{
string strCaddr=(string)row[0];//定义一个string变量strCaddr,用于接收每行查找到的Caddr
MessageBox.Show(strCaddr);//将strCaddr显示出来
}
希望能帮到你.满意采纳
DataTable dt = CompanyService GetaddrAll();
这样对吗?
不对 CompanyService c = new CompanyService ();
DataTable dt = c.GetaddrAll();
类名.静态方法([参数列表]);
如果是三层还好说点,我学的就是三层,现在这个项目没有BLL
上面的这个方法就是一个桥梁,调用SqlDBHelper类中的一个GetDataTable(sql)(带有参数)的方法,返回一个DataTable 的数据。只是这是一个静态方法,这有什么看不懂的呀?
使用方法:
DataTable dt = CompanyService.GetaddrAll();
在dataGridView控件上显示 dataGridView1.DataSource=dt;