SqlDataReader 类为什么不用new创建对象

jszikun 2004-12-14 05:07:35
SqlDataReader 类为什么不用new创建对象
我用SqlDataReader dr = new SqlDataReader();//重载"SqlDataReader"方法未获取"0"参数
后来发现在类SqlDataReader 中没有构造函数,对于这种类如何理解。
...全文
314 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
locateangel 2004-12-16
  • 打赏
  • 举报
回复
这东西好像应该这么用:
System.Data.SqlClient.SqlConnection s_c1 = new SqlConnection();
s_c1.ConnectionString = classes.p_class.conn_string;
s_c1.Open();
string sql1 = "select * from service_1 where (UPPER(LTRIM(RTRIM(service_id))) = @service_id)";
SqlCommand cmd1 = new SqlCommand(sql1,s_c1);
cmd1.Parameters.Add("@service_id",service_id);
SqlDataReader sdr1;
sdr1 = cmd1.ExecuteReader();
OneDotRed 2004-12-16
  • 打赏
  • 举报
回复
呵呵,用reflector一查便知。
welshem 2004-12-16
  • 打赏
  • 举报
回复
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpref/html/frlrfsystemdatasqlclientsqldatareaderclasstopic.htm
北京的雾霾天 2004-12-16
  • 打赏
  • 举报
回复
而且我觉的如果访问限定符"internal"代表了"public"和"protected"的访问性组合.....
------------------------------
不是这个意思.你的理解有不正确.internal不是这个意思.
jszikun 2004-12-15
  • 打赏
  • 举报
回复
而且我觉的如果访问限定符"internal"代表了"public"和"protected"的访问性组合为什么“在外边是访问不到的,所以不可也在外部实例化。”
北京的雾霾天 2004-12-15
  • 打赏
  • 举报
回复
可以这样来理解:
这个类本身的数据来源是一个Command对象的执行结果,建立它本身并不能得到数据,而是用ExecuteReader之类的方法才能使得一个DataReader具有它本身的特性.
对于这样的一个类来说,建立一个没有能力得到数据的对象有什么意义啊,所以就没有构造函数了,直接是另一个对象的一个方法来建立对象就足够了.
jszikun 2004-12-15
  • 打赏
  • 举报
回复
cdo(cdo)这个我知道,我问的是请问 OneDotRed(武装到眼神) 你从那边知道SqlDataReader只有一个构造函数。。。。我没有发现
cdo 2004-12-15
  • 打赏
  • 举报
回复
这个是msdn上的说明
(具体地址:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataSqlClientSqlDataReaderClassTopic.htm):

备注
若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不直接使用构造函数。

jszikun 2004-12-15
  • 打赏
  • 举报
回复
请问 OneDotRed(武装到眼神) 你从那边知道SqlDataReader只有一个构造函数。。。。我没有发现
OneDotRed 2004-12-14
  • 打赏
  • 举报
回复
SqlDataReader只有一个构造函数

internal SqlDataReader( SqlCommand cmd );
这个构造函数可访问的级别是internal,在外边是访问不到的,所以不可也在外部实例化。
Jinpanxu 2004-12-14
  • 打赏
  • 举报
回复
不清楚,只知道它是通過sqlcommand對象調用executereader方法創建的
jszikun 2004-12-14
  • 打赏
  • 举报
回复
还有其他吗?
kangxidadi 2004-12-14
  • 打赏
  • 举报
回复
这个类本身就要依附其他类的实例,我觉得实现它的构造函数应该要那些类对象作为参数,干脆不要构造函数,直接用其他类来生成其实例也不错啊。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧