黑马程序员技术交流社区

标题: 求大神指教,怎么理解这个return 语句 。 [打印本页]

作者: 西瓜    时间: 2014-5-8 19:54
标题: 求大神指教,怎么理解这个return 语句 。
本帖最后由 西瓜 于 2014-5-9 13:20 编辑

  1. <div class="blockcode"><blockquote>//sb是包含模糊查询和连接查询的SQL语句
  2. SqlCommand comm = new SqlCommand(sb.ToString,conn);
  3. return comm.ExecuteReader(CommandBehavior.CloseConnection);
  4. }
  5. catch.......
复制代码

请问这个return语句做了几个动作呢 , 可不可以不要这个换个其他的替代方式呢,求大神解答感谢
作者: 林枫    时间: 2014-5-8 20:55
还没学SQL呢 但是也能解答你的问题 既然有return 那就肯定是方法,并且这个方法需要一个返回值,不用return 也行 在方法上多加一个你的返回值类型的参数,用out 修饰符 。 返回值那里修改成void。建议你先把基础学明白在学SQL 欲速则不达 朋友
作者: 西瓜    时间: 2014-5-9 00:50
林枫 发表于 2014-5-8 20:55
还没学SQL呢 但是也能解答你的问题 既然有return 那就肯定是方法,并且这个方法需要一个返回值,不用return ...

= = 你这....
作者: continue     时间: 2014-5-9 08:47
return 执行的当然是返回的操作了,这条语句可以拆分成两条语句var res = comm.ExecuteReader(CommandBehavior.CloseConnection); return res;  我不知道你这个返会的是什么类型就用var了。
如果前面这条语句错误就执行catch中的语句,执行没有出错就返回,至于return用别的什么代替,上面说了out可以,不过没必要
作者: 追梦无悔    时间: 2014-5-9 10:26
你代码中的return是返回到额ExecuteReader这个方法执行后的结果的返回值
作者: 袁晓俊    时间: 2014-5-9 13:10
return返回的是.ExecuteReader这个方法操作后得出的数据,即如果你需要得到.ExecuteReader他返回的内容你通过return来得到然后可以通过参数传值的方式去利用这个.ExecuteReader的内容。看去学一下return的知识,然后再看看.ExecuteReader是做什么的你就明白了。
作者: 西瓜    时间: 2014-5-9 13:21
谢谢大家,我就是没理解到CommandBehavior.CloseConnection
作者: leayon    时间: 2014-5-10 14:18
西瓜 发表于 2014-5-9 13:21
谢谢大家,我就是没理解到CommandBehavior.CloseConnection

这是一个参数,它表示执行完这个命令之后,当前连接对象不关闭,等到数据读取器SqlDataReader读取数据完毕后,再关闭现有连接。如果不加这个参数的话,当前读取器没有用了,因为在using语句或try...catch...finally...执行完后,连接对象就关闭了。
作者: 一片白    时间: 2014-5-10 14:32
ExecuteReader
CommandBehavior.CloseConnection
这些东东,看着都好难哦,:)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2