久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價!!!
當前位置:主頁 > 網站建設 > SqlServer參數化查詢之where in和like實現之xml和D建站

SqlServer參數化查詢之where in和like實現之xml和D建站

時間:2023-05-21 21:05:21 閱讀: 文章分類: 網站建設 作者: 網站技術員

導讀:1建站知識在上一篇Sql Server參數化查詢之where in和like實現詳解中介紹了在Sql Server使用參數化查詢where in的幾種實現方案,遺漏了seo網站優化seo網站關鍵詞優化。

seo網站優化seo網站關鍵詞優化

方案5 使用xml參數 對sql server xml類型參數不熟悉的童鞋需要先了解下XQuery概念,這里簡單提下XQuery 是用來從 XML 文檔查找和提取元素及屬性的語言,簡單說就是用于查詢xml的語言說到這就會牽著到XPath,其實XPath是XQuery的一個子集,XQuery 1.0 和 XPath 2.0 共享相同的數據模型,并支持相同的函數和運算符,XPath的方法均適用于XQuery,假如您已經學習了 XPath,那么學習 XQuery 也不會有問題。詳見 XQuery概念了解后需要進一步了解下Sql Server對xml的支持函數,主要為query()、nodes()、exist()、value()、modify() ,詳見

使用xml方式實現where in時有兩種實現方式,使用value和exist,在這里推薦使用exist方法,msdn是這樣描述的:D.使用 exist() 方法而不使用 value() 方法 由于性能原因,不在謂詞中使用 value() 方法與關系值進行比較,而改用具有 sql:column() 的 exist()。 使用xml的value方法實現(不推薦)

復制代碼 代碼如下:

DataTable dt = new DataTable(); using (SqlConnection conn = new SqlConnection(connectionString)) { string xml = @" <root> <UserID>1</UserID> <UserID>2</UserID> <UserID>5</UserID> </root>"; SqlCommand comm = conn.CreateCommand(); //不推薦使用value方法實現,性能相對exist要低 comm.CommandText = @"select * from Users where exists ( select 1 from @xml.nodes('/root/UserID') as T(c) where T.c.value('text()[1]','int')= Users.UserID )"; //也可以這樣寫,結果是一樣的 //comm.CommandText = @"select * from Users // where UserID in // ( // select T.c.value('text()[1]','int') from @xml.nodes('/root/UserID') as T(c) // ) comm.Parameters.Add(new SqlParameter("@xml", SqlDbType.Xml) { Value = xml }); using (SqlDataAdapter adapter = new SqlDataAdapter(comm)) { adapter.SelectCommand = comm; adapter.Fill(dt); } }

使用xml的exist方法實現(推薦)

復制代碼 代碼如下:

DataTable dt = new DataTable(); using (SqlConnection conn = new SqlConnection(connectionString)) { string xml = @" <root> <UserID>1</UserID> <UserID>2</UserID> <UserID>5</UserID> </root>"; SqlCommand comm = conn.CreateCommand(); //使用xml的exist方法實現這樣能夠獲得較高的性能 comm.CommandText = @"select * from Users where @xml.exist('/root/UserID[text()=sql:column(""UserID"")]')=1"; comm.Parameters.Add(new SqlParameter("@xml", SqlDbType.Xml) { Value = xml }); using (SqlDataAdapter adapter = new SqlDataAdapter(comm)) { adapter.SelectCommand = comm; adapter.Fill(dt); } }

列舉下不同xml結構的查詢方法示例,在實際使用中經常因為不同的xml結構經常傷透了腦筋

關鍵詞標簽: 標簽 參數

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-21 ,文章SqlServer參數化查詢之where in和like實現之xml和D建站主要講述參數,標簽,SqlServer參數化查詢之where in和網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_3982.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 柳江县| 信丰县| 虹口区| 广汉市| 康平县| 兰溪市| 日照市| 商水县| 板桥市| 林周县| 榕江县| 平邑县| 本溪| 平阴县| 民丰县| 常宁市| 巨野县| 睢宁县| 衡山县| 绥化市| 临桂县| 宾川县| 牡丹江市| 广饶县| 云安县| 谢通门县| 平邑县| 宁陵县| 宝鸡市| 且末县| 靖宇县| 舒城县| 渝中区| 两当县| 金乡县| 闽清县| 中江县| 河池市| 区。| 天全县| 正蓝旗|