怎么带条件检索XML里面一条一条的记录啊?

ajiang1234 2008-03-24 08:09:26
我的XML文件名为authors.xml ,如下
<?xml version="1.0" encoding="utf-8" ?>
- <Authors_Table>
- <authors>
<作者ID>172-32-1176 </作者ID>
<姓>王 </姓>
<名>静静 </名>
<城市>上海 </城市>
<合同>true </合同>
</authors>
- <authors>
<作者ID>213-46-8915 </作者ID>
<姓>王 </姓>
<名>亮 </名>
<城市>北京 </城市>
<合同>true </合同>
</authors>
- <authors>
<作者ID>238-95-7766 </作者ID>
<姓>乌 </姓>
<名>颖影 </名>
<城市>哈尔滨 </城市>
<合同>true </合同>
</authors>
- <authors>
<作者ID>238-95-7769 </作者ID>
<姓>刘 </姓>
<名>艳春 </名>
<城市>哈尔滨 </城市>
<合同>true </合同>
</authors>
- <authors>
<作者ID>274-80-9391 </作者ID>
<姓>张 </姓>
<名>彩云 </名>
<城市>吉林 </城市>
<合同>true </合同>
</authors>
</Authors_Table>

我怎么检索里面的一条一条的记录啊?我用DATAgridview 来显示,比如输入作者ID,就把该作者的全部信息给显示出来,请高手指点,最好用VB.NET把代码写出来,小弟感激不尽
...全文
178 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
ajiang1234 2008-03-28
  • 打赏
  • 举报
回复
这个单引号是相对于[作者ID]数据栏位是字符型
这句话不太懂,不过还是多谢了
duping9626 2008-03-28
  • 打赏
  • 举报
回复
比如你的TextBox1.Text="xxx"则ds.Tables(0).DefaultView.RowFilter = "作者ID='xx'"
不是你所想的"作者ID='"xx'""
TextBox1.Text是字符串,没有错,是&运算时字符串
这个单引号是相对于[作者ID]数据栏位是字符型
ajiang1234 2008-03-28
  • 打赏
  • 举报
回复
ajiang1234 2008-03-28
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 duping9626 的回复:]
Tables(0)是DataSet里的多个表中的第一个
单引号是因为是字符数据类型,如果是整型,数字型则不用单引号,与SQL里的概念是差不多的
[/Quote]
输入到TEXTBOX1.text里面的文本不是本身就是字符型数据了吗,加个单引号不是多此一举?
duping9626 2008-03-28
  • 打赏
  • 举报
回复
Tables(0)是DataSet里的多个表中的第一个
单引号是因为是字符数据类型,如果是整型,数字型则不用单引号,与SQL里的概念是差不多的
ajiang1234 2008-03-28
  • 打赏
  • 举报
回复
麻烦各位解释一下table(0)和ds.Tables(0).DefaultView.RowFilter = "作者ID='" & TextBox1.Text & "'" 里面的输入到textbox1.text的文本在这里用了单引号是什么原因。
小弟感激感激~~~
ajiang1234 2008-03-27
  • 打赏
  • 举报
回复
麻烦各位解释一下table(0)和ds.Tables(0).DefaultView.RowFilter = "作者ID='" & TextBox1.Text & "'" 里面的输入到textbox1.text的文本在这里用了单引号是什么原因。
小弟感激感激~~~
zy227 2008-03-27
  • 打赏
  • 举报
回复
保留意見 哈哈
ajiang1234 2008-03-27
  • 打赏
  • 举报
回复
ding
crossrowman 2008-03-26
  • 打赏
  • 举报
回复
XPath
ajiang1234 2008-03-26
  • 打赏
  • 举报
回复
还有请问一下table(0)在这里是什么意思哦?
ajiang1234 2008-03-26
  • 打赏
  • 举报
回复
还是不太明白啊,拜托解释下
duping9626 2008-03-26
  • 打赏
  • 举报
回复
那你把
ds.Tables(0).DefaultView.RowFilter
打出来自已看看,就知道了
ajiang1234 2008-03-26
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 duping9626 的回复:]
因为是字符型的,SQL里的字符不是要加''吗
[/Quote]
textbox.text里面的文本就是字符型的啊,再加引号不是多了?
ajiang1234 2008-03-26
  • 打赏
  • 举报
回复
顶~~
duping9626 2008-03-26
  • 打赏
  • 举报
回复
因为是字符型的,SQL里的字符不是要加''吗
ajiang1234 2008-03-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 duping9626 的回复:]
VB.NET code
ds.Tables(0).DefaultView.RowFilter = "作者ID='" & TextBox1.Text & "'"
'如果作者ID唯一,则ds.Tables(0).DefaultView里只有一条,有多条循环
string id=ds.Tables(0).DefaultView(0)("作者ID")
.....
[/Quote]
我有些搞不懂的是TEXTBOX.TEXT里面的文本本身就是string 类型的,为什么还要加引号呢?
duping9626 2008-03-26
  • 打赏
  • 举报
回复

ds.Tables(0).DefaultView.RowFilter = "作者ID='" & TextBox1.Text & "'"
'如果作者ID唯一,则ds.Tables(0).DefaultView里只有一条,有多条循环
string id=ds.Tables(0).DefaultView(0)("作者ID")
.....
ajiang1234 2008-03-26
  • 打赏
  • 举报
回复
再请教各位大虾,我在窗体上放了一个TEXTBOX,我在里面输入作者的ID,我通过BUTTON的单击事件想把这个人的全部信息检索出来,该怎么写代码呢?
duping9626 2008-03-26
  • 打赏
  • 举报
回复
他提示无法找到表0,怎么办呢
-------------
ds.ReadXml("authors.xml ", XmlReadMode.ReadSchema)
改为
ds.ReadXml("authors.xml ")
因为xml里没有其它架构信息
加载更多回复(7)

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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