一倍受打击的问题!望多多帮忙....(UP者给分)在线等待,及时结贴

liuyong_lll 2003-04-11 04:38:11
VB.NET中的一段代码:
Dim strConn As String
strConn = "server=localhost;database=WroxBooks;uid=anon;pwd=;"
Dim strSelect As String
strSelect = "SELECT * FROM BookList WHERE ISBN LIKE '1861003%' FOR XML AUTO"
Dim objStrBuilder As New System.Text.StringBuilder()
Dim objConnect As New SqlConnection(strConn)
Dim objCommand As New SqlCommand(strSelect, objConnect)
Dim objXTReader As XmlTextReader
objConnect.Open()
objXTReader = objCommand.ExecuteXmlReader()
objXTReader.Read()
objStrBuilder.Append(objXTReader.GetRemainder().ReadToEnd())
objXTReader.Close()
objConnect.Close()

我自己把上边的代码转换成C#中的代码,却出错了.....苦闷不已呀
出错的代码如下:(有***号标记)
objConnect.Open();
System.Xml.XmlTextReader objXTReader=objCommand.ExecuteXmlReader();//****
objStrBuilder.Append(objXTReader.GetRemainder().ReadToEnd());
objXTReader.Close();
objConnect.Close();

错误提示如下:
无法将类型“System.Xml.XmlReader”隐式转换为“System.Xml.XmlTextReader”

我就感到很奇怪,同是使用的.NET框架,为什么在VB.NET下可以,可是到了C#中却不行了,我到MSDN中去搞了一下午还是没有搞定,还望各位可以解释一下我的错误的原因和为什么会出现如此的错误!!!真的,我不懂VB,对C#也是“一滴水”,今天受的打击不小,还望各位可以帮忙小弟解决这个问题,先谢过!
...全文
81 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
findawork 2003-04-12
  • 打赏
  • 举报
回复
up
学习!
支持!
飞不动 2003-04-12
  • 打赏
  • 举报
回复
接分
追梦 2003-04-12
  • 打赏
  • 举报
回复
up
findawork 2003-04-11
  • 打赏
  • 举报
回复
支持!
firewing 2003-04-11
  • 打赏
  • 举报
回复
myadaidarling说得没错。
楼主应该要清楚VB不是强类型的语言所以可以支持xmlReader这种类型的隐形转换到xmlTextReader应为xmlTextReader是xmlReader扩展出来的。而C#是强类型的语言,你必须显式转换这两种类型
myadaidarling 2003-04-11
  • 打赏
  • 举报
回复
是不是这个问题啊,c#中有严格的类型限制。。

objCommand.ExecuteXmlReader()返回的是 xmlReader 类型,,
而不是xmlTextReader 类型!!
adewa2000 2003-04-11
  • 打赏
  • 举报
回复
在c#中有严格的类型限制,excutexmlreader 返回的是一xmlreader类的对象,而表达式两边类型不统一所以会出错。而vb不同他对类型要求不严,可以强制转还的,所以vb可以,c#有问题。不过vb代码易写,而c#差错容易,两种各有好处和缺点,什么时候吧优点综合了,那才爽~~~
liuyong_lll 2003-04-11
  • 打赏
  • 举报
回复
请大家探讨一下为什么会出现如此的情况呀!
xxcw 2003-04-11
  • 打赏
  • 举报
回复
System.Xml.XmlTextReader objXTReader=(System.Xml.XmlTextReader)objCommand.ExecuteXmlReader()
我也刚学C#,不知道这样对不对!
bullnade 2003-04-11
  • 打赏
  • 举报
回复
XmlReader 类
是一个提供非缓存的、只进只读访问的抽象基类。XmlReader 类检查 XML 格式是否正确,并且在遇到错误时引发 XmlExceptions。它可以读取流或文档,并且实现在由位于 www.w3.org/TR/REC-xml-names 的 W3C 所提供的建议中概述的命名空间要求。

XmlReader 类的实现扩展了基类,而它们的设计也多种多样,能够支持不同方案的需要。下边说明了 XmlReader 类的实现。

XmlTextReader 类
读取字符流。它是一个只进阅读器,具有返回有关内容和节点类型的数据的方法。没有文档类型定义 (DTD) 或架构支持。


希望对你有帮助的,关心你问题的解决!

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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