久久机这里只有精品,国产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+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 化德县| 汉源县| 尼木县| 固始县| 四会市| 新沂市| 玉环县| 定兴县| 岚皋县| 桦甸市| 彩票| 寻乌县| 大兴区| 屏南县| 凤翔县| 六安市| 佛坪县| 永定县| 合川市| 康平县| 肥城市| 元阳县| 聂荣县| 宁陕县| 贵州省| 镇江市| 南陵县| 西丰县| 永新县| 平和县| 响水县| 高清| 同仁县| 凤山县| 铜鼓县| 沧州市| 揭东县| 敖汉旗| 鄢陵县| 昌吉市| 洪泽县|