这个方法没看懂,求大神解释!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这个方法没看懂,求大神解释!相关的知识,希望对你有一定的参考价值。

这个方法什么意思啊,如果想使用这个方法,怎么调用啊!
这个方法在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显示出来

           




希望能帮到你.满意采纳

参考技术A 这是到数据库去查数据,然后返回一个DataTable类型 如果调用的话 DataTable dt = GetaddrAll()就行了啊。追问

DataTable dt = CompanyService GetaddrAll();
这样对吗?

追答

不对 CompanyService c = new CompanyService ();
DataTable dt = c.GetaddrAll();

参考技术B 这样调用就OK了DataTable dt = CompanyService.GetaddrAll(); // 因为GetaddrAll()方法是静态方法,静态方法不属于任何实例对象,它仅属于该类所有。所以调用时

类名.静态方法([参数列表]);
参考技术C 这貌似是三层架构开发中BLL层中某个类中的一个静态方法,其实真正的方法是DAL层SqlDBHelper类中中的GetDataTable(sql) ,这是一个得到数据源的方法,需要一个参数(sql语句),返回一个DataTable类型数据追问

如果是三层还好说点,我学的就是三层,现在这个项目没有BLL

追答

上面的这个方法就是一个桥梁,调用SqlDBHelper类中的一个GetDataTable(sql)(带有参数)的方法,返回一个DataTable 的数据。只是这是一个静态方法,这有什么看不懂的呀?

参考技术D 查询数据库中company表中的Caddr的信息,并以DataTable类型返回
使用方法:
DataTable dt = CompanyService.GetaddrAll();
在dataGridView控件上显示 dataGridView1.DataSource=dt;

C语言POJ的一个题目算法没看懂,求帮忙。。。

题目大意:1..n的一个排列An被称作完美排列,等价于数列|Ai - i|是0..n-1的一个排列。对于指定的n≤1000,给出一个完美排列或者输出0表示不存在1..n的完美排列。 这个MS是罗马尼亚数学竞赛的题…… 如果作为ACM问题的话最合适的做法是搜小数据然后找规律 >_< 不过这显然不是我们研究科学问题的态度……下面给出一个带证明的做法。 首先我们证明,当且仅当n ≡ 0, 1 (mod 4)的时候存在1..n的完美排列。 首先,由于|Ai - i|是0..n-1的一个排列,所以∑|Ai - i| = n(n-1)/2。 同时,∑|Ai - i| ≡ ∑(Ai - i) = ∑Ai - ∑i = 0 (mod 2)。 故n(n - 1)/2 ≡ 0 (mod 2)。这样就得到n ≡ 0, 1 (mod 4)。 下面我们构造满足题意的解: 我们把排列看做置换。 n ≡ 0 (mod 4) 的时候,一个可行的置换是轮换(1, n, 2, n - 1, 3, n - 2, ..., n/4, 3n/4 + 1, n/4 + 1, 3n/4 - 1, ..., n/2 - 1, n/2 + 1, n/2)。 3n/4 为这个置换的唯一不动点。 n ≡ 1 (mod 4) 的时候,设s = n - 1,一个可行的置换是轮换(1, n, 2, n - 1, 3, n - 2, ..., s/4, 3s/4 + 2, s/4 + 1, 3s/4, s/4 + 2, 3s/4 - 1, ..., s/2, s/2 + 1)。 而3s / 4 + 1为这个置换的唯一不动点。 这就证明完毕。于是这个题也就解决了。 代码就不贴了。 当且仅当n ≡ 0, 1 (mod 4)是什么意思啊 整个算法有谁还能简单地解释下呢 证明的第三行开始都不懂了

参考技术A ≡这个是恒等于的意思,n

0
(mod
4),所以这句话的意思是n除以4余0,mod是取模运算,n关于4取模,也就是求n除以4的余数,另一句同理。
下面分类讨论了两种情况,得出了不动点,即经过映射后,是自身的点。

以上是关于这个方法没看懂,求大神解释!的主要内容,如果未能解决你的问题,请参考以下文章

求大神解释解释MVC与SpringMVC是啥,

vb.net求大神解释

下载了个VS2015写C++,但是运行的时候,结果窗口只是闪一下,没有显示出来,求大神解释

我是C语言新手。求大神解释一下这一道题,书里没解析的额

python中这个算法该怎么解释?求大神支招。

求大神解释一把这个?其中result=pst.execute();返回的是boolean值?