A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 西瓜 中级黑马   /  2014-5-8 19:54  /  1449 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 西瓜 于 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语句做了几个动作呢 , 可不可以不要这个换个其他的替代方式呢,求大神解答感谢

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

8 个回复

正序浏览
ExecuteReader
CommandBehavior.CloseConnection
这些东东,看着都好难哦,:)
回复 使用道具 举报
leayon 中级黑马 2014-5-10 14:18:53
8#
西瓜 发表于 2014-5-9 13:21
谢谢大家,我就是没理解到CommandBehavior.CloseConnection

这是一个参数,它表示执行完这个命令之后,当前连接对象不关闭,等到数据读取器SqlDataReader读取数据完毕后,再关闭现有连接。如果不加这个参数的话,当前读取器没有用了,因为在using语句或try...catch...finally...执行完后,连接对象就关闭了。
回复 使用道具 举报
谢谢大家,我就是没理解到CommandBehavior.CloseConnection
回复 使用道具 举报
return返回的是.ExecuteReader这个方法操作后得出的数据,即如果你需要得到.ExecuteReader他返回的内容你通过return来得到然后可以通过参数传值的方式去利用这个.ExecuteReader的内容。看去学一下return的知识,然后再看看.ExecuteReader是做什么的你就明白了。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
你代码中的return是返回到额ExecuteReader这个方法执行后的结果的返回值
回复 使用道具 举报
return 执行的当然是返回的操作了,这条语句可以拆分成两条语句var res = comm.ExecuteReader(CommandBehavior.CloseConnection); return res;  我不知道你这个返会的是什么类型就用var了。
如果前面这条语句错误就执行catch中的语句,执行没有出错就返回,至于return用别的什么代替,上面说了out可以,不过没必要
回复 使用道具 举报
林枫 发表于 2014-5-8 20:55
还没学SQL呢 但是也能解答你的问题 既然有return 那就肯定是方法,并且这个方法需要一个返回值,不用return ...

= = 你这....
回复 使用道具 举报
还没学SQL呢 但是也能解答你的问题 既然有return 那就肯定是方法,并且这个方法需要一个返回值,不用return 也行 在方法上多加一个你的返回值类型的参数,用out 修饰符 。 返回值那里修改成void。建议你先把基础学明白在学SQL 欲速则不达 朋友
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马