SqlDataReader 类为什么不用new创建对象 不清楚,只知道它是通過sqlcommand對象調用executereader方法創建的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SqlDataReader只有一个构造函数internal SqlDataReader( SqlCommand cmd );这个构造函数可访问的级别是internal,在外边是访问不到的,所以不可也在外部实例化。 请问 OneDotRed(武装到眼神) 你从那边知道SqlDataReader只有一个构造函数。我没有发现 这个是msdn上的说明(具体地址:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataSqlClientSqlDataReaderClassTopic.htm):备注若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不直接使用构造函数。 cdo(cdo)这个我知道,我问的是请问 OneDotRed(武装到眼神) 你从那边知道SqlDataReader只有一个构造函数。我没有发现 可以这样来理解:这个类本身的数据来源是一个Command对象的执行结果,建立它本身并不能得到数据,而是用ExecuteReader之类的方法才能使得一个DataReader具有它本身的特性.对于这样的一个类来说,建立一个没有能力得到数据的对象有什么意义啊,所以就没有构造函数了,直接是另一个对象的一个方法来建立对象就足够了. 而且我觉的如果访问限定符"internal"代表了"public"和"protected"的访问性组合为什么“在外边是访问不到的,所以不可也在外部实例化。” 而且我觉的如果访问限定符"internal"代表了"public"和"protected"的访问性组合.....------------------------------不是这个意思.你的理解有不正确.internal不是这个意思. ms-help://MS.NETFrameworkSDKv1.1.CHS/cpref/html/frlrfsystemdatasqlclientsqldatareaderclasstopic.htm 这东西好像应该这么用: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(); 问一个正则表达式 端口侦听失败 使用webBrowser登录网站后如何获取新页面的元素 求一坐标点的算法,数学问题,用C#实现谢谢 [有点急]关于SQL连接的若干小问题请教```````` crystalReport的专家请进,有关水晶报表中自己指定字段值的方法,请赐教 请教dataGrid 如何合并行。 TreeView控件里的接点怎么拖动位置? 麻烦教我一下这个简单问题,100分相送,真的很简单! 如何点击窗口关闭后,弹出询问对话框,如果选择否,窗口不退出??? 怎么将html页转换成mht页? 一定有大侠会用C#引用DLL中传递的Dobule型指针吧,请指教。
这个构造函数可访问的级别是internal,在外边是访问不到的,所以不可也在外部实例化。
(具体地址:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataSqlClientSqlDataReaderClassTopic.htm):备注
若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不直接使用构造函数。
这个类本身的数据来源是一个Command对象的执行结果,建立它本身并不能得到数据,而是用ExecuteReader之类的方法才能使得一个DataReader具有它本身的特性.
对于这样的一个类来说,建立一个没有能力得到数据的对象有什么意义啊,所以就没有构造函数了,直接是另一个对象的一个方法来建立对象就足够了.
------------------------------
不是这个意思.你的理解有不正确.internal不是这个意思.
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();