亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

使用XmlReader迭代代替類型化DataSet和IDataReader解析關聯數據

2024-09-05 20:55:51
字體:
來源:轉載
供稿:網友
正在修改的第一個電子購物程序中需要處理購物訂單和訂單明細的讀取/更新問題. 他們在數據庫中分成兩個表存儲,order和orderdetails.現在要把他們的數據讀取出來,并創建一個order的數據實體供程序使用. 一開始的時候我考慮使用idatareader讀取數據,即打開兩個數據庫連接,一個用來讀取order,一個用來讀取orderdetails.后來感覺麻煩, 就開始考慮使用xml shema創建一個數據集,然后利用sqlserver的xml功能返回一個xmlreader,讀取到這個類型化的dataset中,但是因為涉及到dataset,擔心性能的影響,寫了一個小程序來測試其性能.調試過程中,缺發現,最快的方式應該是自己使用xmlreader迭代返回的xml 字符串.程序如下: 首先在sqlserver中使用for xml的sql語句生成xml: alter procedure shop_getorders2 ( @blogid bigint ) as select 1 as tag, null as parent, o.orderid as [order!1!orderid], o.userid as [order!1!userid], o.useremail as [order!1!useremail], o.usermobile as [order!1!usermobile], o.userim as [order!1!userim], o.receipt as [order!1!receipt], o.city as [order!1!city], o.address as [order!1!address], o.postcode as [order!1!postcode], o.usertel as [order!1!usertel], o.deliverymethod as [order!1!deliverymethod], o.deliverfee as [order!1!deliverfee], o.paymethod as [order!1!paymethod], o.realname as [order!1!realname], case o.vip when 1 then 'true' when 0 then 'false' end as [order!1!vip], o.blogid as [order!1!blogid], o.usertitle as [order!1!usertitle], o.insertdate as [order!1!insertdate], null as [detail!2!productid], null as [detail!2!unitprice], null as [detail!2!unitscore], null as [detail!2!number] from orders o where o.blogid = @blogid union all select 2 as tag, 1 as parent, o.orderid as [order!1!orderid], null as [order!1!userid], null as [order!1!useremail], null as [order!1!usermobile], null as [order!1!userim], null as [order!1!receipt], null as [order!1!city], null as [order!1!address], null as [order!1!postcode], null as [order!1!usertel], null as [order!1!deliverymethod], null as [order!1!deliverfee], null as [order!1!paymethod], null as [order!1!realname], null as [order!1!vip], null as [order!1!blogid], null as [order!1!usertitle], null as [order!1!insertdate], od.productid as [detail!2!productid], od.unitprice as [detail!2!unitprice], od.unitscore as [detail!2!unitscore], od.number as [detail!2!number] from orders o, orderdetails od where o.orderid = od.orderid and o.blogid = @blogid for xml explicit 下面的程序則解析內容: [stathread] static void main(string[] args) { for(int i=0;i<200;i++) { system.threading.thread thread = new system.threading.thread(new system.threading.threadstart(run1)); thread.start(); } done.set(); console.read(); } public static system.threading.manualresetevent done = new system.threading.manualresetevent(false);//線程并發控制 public static void run1() { done.waitone(); sqlconnection conn = new sqlconnection("uid=sa;pwd=sa;database=shop;server=chris"); try { sqlcommand comm = conn.createcommand(); comm.commandtext = "shop_getorders2"; comm.commandtype = commandtype.storedprocedure; comm.parameters.add(new sqlparameter("@blogid",1)); conn.open(); system.xml.xmlreader reader = comm.executexmlreader(); // ordersdata ds = new ordersdata(); console.writeline(datetime.now.tostring() + "/t"); while(reader.read()) { if(reader.nodetype==system.xml.xmlnodetype.element&&reader.localname=="order") { reader.getattribute("orderid"); reader.getattribute("userid"); console.writeline(reader.getattribute("useremail")+"------------------------------------------------------------"); reader.getattribute("usermobile"); reader.getattribute("userim"); reader.getattribute("receipt"); reader.getattribute("city"); reader.getattribute("address"); reader.getattribute("postcode"); reader.getattribute("usertel"); reader.getattribute("deliverymethod"); reader.getattribute("deliverfee"); reader.getattribute("paymethod"); reader.getattribute("vip"); reader.getattribute("blogid"); reader.getattribute("insertdate"); reader.getattribute("usertitle"); while(reader.read()) { if(reader.localname=="order"&&reader.nodetype==system.xml.xmlnodetype.endelement) { break; } if(reader.nodetype==system.xml.xmlnodetype.element && reader.localname=="detail") { reader.getattribute("productid"); console.writeline(reader.getattribute("unitprice")); reader.getattribute("unitscore"); reader.getattribute("number"); } } } } } finally { conn.close(); } } 這種方法在打開200個線程并發讀取的時候,整整比用兩個connection讀取數據快了1-2秒.比dataset的readxml快了4秒之多

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
性欧美亚洲xxxx乳在线观看| 久久99久久99精品中文字幕| 亚洲韩国欧洲国产日产av| 欧美在线不卡区| 国产91网红主播在线观看| 97国产精品视频| 91精品啪aⅴ在线观看国产| 欧美大尺度在线观看| 欧美日韩亚洲精品一区二区三区| 黄色成人在线免费| 精品国产一区二区三区在线观看| 美女av一区二区| 亚洲精品视频免费| 久久亚洲精品毛片| 欧美在线观看网址综合| www.色综合| 日韩av毛片网| 亚洲国产精品99| 国产成人一区二区| 久久久久久久香蕉网| 久久久综合免费视频| 午夜精品美女自拍福到在线| 中日韩美女免费视频网址在线观看| 欧美一级视频在线观看| 日韩精品极品在线观看| 欧美成人午夜激情视频| 日韩亚洲在线观看| 激情懂色av一区av二区av| 亚洲成avwww人| 欧美午夜无遮挡| 69av成年福利视频| 欧美激情一级精品国产| 日韩在线视频二区| 久久亚洲精品视频| 国产亚洲a∨片在线观看| 国产福利视频一区二区| 国产第一区电影| 日韩av片电影专区| 日产精品99久久久久久| 亚洲开心激情网| 亚洲精品国产精品国自产观看浪潮| 久久久久久91香蕉国产| 欧美另类高清videos| 久久久国产91| 一区国产精品视频| 97在线看免费观看视频在线观看| 少妇久久久久久| 久久夜色精品亚洲噜噜国产mv| 亚洲а∨天堂久久精品9966| 日韩成人在线观看| 欧美激情综合亚洲一二区| 欧美日本啪啪无遮挡网站| 国产69精品久久久久9999| 亚洲欧洲一区二区三区久久| 成人激情在线播放| 欧美一级视频在线观看| 夜色77av精品影院| 国产精品日韩电影| 91久久国产精品| 国产精品www网站| 国产成人综合久久| 欧美在线视频播放| 欧美丝袜第一区| 96pao国产成视频永久免费| 日韩欧美大尺度| 成人国内精品久久久久一区| 国产精品欧美日韩久久| 精品亚洲国产成av人片传媒| 久久91精品国产91久久久| 91在线直播亚洲| 国产www精品| 精品视频久久久| 国产精品久久久久久亚洲影视| 一区二区三区回区在观看免费视频| 欧美亚洲成人免费| 亚洲国产日韩欧美在线99| 亚洲a区在线视频| 欧美黑人性猛交| 高清在线视频日韩欧美| 中文字幕精品一区久久久久| 欧美亚洲在线播放| 久久韩剧网电视剧| 欧洲成人在线观看| 亚洲18私人小影院| 久久国产精品99国产精| 国产成人一区二区三区电影| 福利视频第一区| 欧美激情视频一区| 亚洲美女精品成人在线视频| 日韩欧美亚洲综合| 羞羞色国产精品| 日韩av电影国产| 欧美午夜片在线免费观看| 日韩精品日韩在线观看| 国产亚洲欧美aaaa| 久久久久久18| 久久九九国产精品怡红院| 国产女人精品视频| 欧美激情一区二区三级高清视频| 久久久免费精品| 日产精品久久久一区二区福利| 欧美日韩国产中文精品字幕自在自线| 国产精品夫妻激情| 中文字幕日韩精品有码视频| 国产一区av在线| 96精品久久久久中文字幕| 色偷偷av一区二区三区| 中文字幕欧美精品日韩中文字幕| 亚洲一区免费网站| 在线视频一区二区| 伊是香蕉大人久久| 日韩激情视频在线| 日韩精品中文字| 国产美女精彩久久| 91香蕉嫩草神马影院在线观看| 91视频国产精品| 69久久夜色精品国产69| 国产精品视频99| 一区二区三区四区视频| 国产美女直播视频一区| 久久久久免费视频| 在线日韩精品视频| 亚洲欧洲中文天堂| 国产精品永久免费在线| xxx一区二区| 日韩av在线精品| 大量国产精品视频| 欧美精品在线观看| 少妇精69xxtheporn| 亚洲精品98久久久久久中文字幕| 7777精品久久久久久| 日韩成人中文字幕| 国产成人一区二| 亚洲精品之草原avav久久| 九九九热精品免费视频观看网站| 日韩电影在线观看永久视频免费网站| 韩日精品中文字幕| 成人av.网址在线网站| 国产在线观看精品| 精品国产91久久久| 欧美天天综合色影久久精品| 国产精品黄色av| 一区二区三区无码高清视频| 亚洲免费视频在线观看| 欧美色播在线播放| 俺也去精品视频在线观看| 日韩综合中文字幕| 亚洲精品国产免费| 亚洲日韩中文字幕| 亚洲欧美国产精品| 欧美激情国产日韩精品一区18| 久久久91精品国产一区不卡| 一区二区欧美在线| 国产精品海角社区在线观看| 精品国产精品自拍| 欧美怡红院视频一区二区三区| 国内精品久久久久影院 日本资源| 亚洲午夜未满十八勿入免费观看全集| 成人免费网站在线观看| 亚洲精品午夜精品| 日韩在线高清视频| 亚洲大尺度美女在线| 久久人人爽人人爽人人片亚洲| 欧美激情视频一区|