两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種批量添加數(shù)據(jù)的方法

文檔序號:6352830閱讀:190來源:國知局
專利名稱:一種批量添加數(shù)據(jù)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種通過將對象序列化為XML調(diào)用存儲(chǔ)過程批量添加數(shù)據(jù)的方法,特 別涉及一種通過序列化對象調(diào)用一次存儲(chǔ)過程實(shí)現(xiàn)批量添加數(shù)據(jù)的方法。
背景技術(shù)
目前通過調(diào)用SQLServer的存儲(chǔ)過程添加數(shù)據(jù)的方法主要有以下一種1、通過SQLServer的添加語句直接添加數(shù)據(jù)。這種方法實(shí)現(xiàn)簡單,只通過一條SQL語句將需要添加的對象添加到數(shù)據(jù)庫中。當(dāng) 需要將對象添加到數(shù)據(jù)庫中時(shí),調(diào)用存儲(chǔ)過程添加數(shù)據(jù),完成添加后返回成功添加或失敗 添加的結(jié)果。當(dāng)需要添加到數(shù)據(jù)庫中的對象數(shù)量是已知的情況下,這種方法可以滿足要求。 但添加到數(shù)據(jù)庫中的對象數(shù)量不是已知的情況下,就要先確定對象的數(shù)量,然后再循環(huán)的 調(diào)用存儲(chǔ)過程添加數(shù)據(jù)對象。頻繁的調(diào)用存儲(chǔ)過程勢必會(huì)增加應(yīng)用程序與數(shù)據(jù)庫通信交換 信息的次數(shù),這樣會(huì)影響系統(tǒng)處理信息的能力,降低系統(tǒng)性能。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是通過序列化泛型集合對象為XML,結(jié)合SQLServer 數(shù)據(jù)庫游標(biāo)技術(shù),將數(shù)據(jù)對象批量添加到數(shù)據(jù)庫中。在未知對象數(shù)量的情況下,一次與數(shù)據(jù) 庫進(jìn)行通信調(diào)用數(shù)據(jù)庫中自定義的存儲(chǔ)過程,完成批量數(shù)據(jù)的添加。從而減少與數(shù)據(jù)庫進(jìn) 行通信的次數(shù),提高系統(tǒng)整體性能。本發(fā)明所述的一種通過序列化對象批量添加數(shù)據(jù)的方法,該方法至少包括如下的 步驟步驟1 新建一個(gè)可以序列化為XML對象的類型并命名為“類1”,該類型擁有需要 添加到數(shù)據(jù)庫中對應(yīng)字段的屬性。步驟2 新建一個(gè)“類1”類型的泛型集合并命名為“集合1”。步驟3 將需要添加到數(shù)據(jù)庫中的未知數(shù)量的“類1”類型的對象循環(huán)添加到“集合 1”中。步驟4:序列化“集合1”類型的對象為XML類型的數(shù)據(jù)格式的字符串。步驟5 新建一個(gè)數(shù)據(jù)庫存儲(chǔ)過程,該存儲(chǔ)過程可以通過游標(biāo)迭代數(shù)據(jù)。步驟6 將序列化的XML字符串作為參數(shù)傳遞給存儲(chǔ)過程。步驟7 通過游標(biāo)順序迭代XML類型的字符串,將需要添加的數(shù)據(jù)順序添加到數(shù)據(jù) 庫中。步驟8 添加成功或失敗,返回結(jié)果。本發(fā)明涉及的一種通過序列化對象批量添加數(shù)據(jù)的方法,該方法的實(shí)施減少了項(xiàng) 目中應(yīng)用邏輯與數(shù)據(jù)庫往返交換數(shù)據(jù)的通信次數(shù),提高了系統(tǒng)整體性能。
具體實(shí)施例方式本發(fā)明的主要步驟如下步驟1 新建一個(gè)可以序列化的類型,命名為“類型1”。該類型的對象擁有可序列 化的公共屬性并且對象的屬性值即是要添加到數(shù)據(jù)庫中的字段值。步驟2 新建一個(gè)“類型1”類型的泛型集合1,將需要添加到數(shù)據(jù)庫中的未知數(shù)量 的“類型1”對象添加到集合中。步驟3 序列化泛型集合1對象為XML格式的字符串。步驟4 新建一個(gè)數(shù)據(jù)庫存儲(chǔ)過程。該存儲(chǔ)過程可以接收一個(gè)字符串作為參數(shù),同 時(shí)這個(gè)存儲(chǔ)過程也擁有游標(biāo)及微軟XML分析器的應(yīng)用。步驟5 調(diào)用存儲(chǔ)過程,將序列化的字符串作為參數(shù)傳遞給存儲(chǔ)過程。步驟6 利用微軟的XML分析器將存儲(chǔ)過程中的參數(shù)為XML類型的字符串進(jìn)行解 析,將游標(biāo)指向解析后的XML字符串中的第一個(gè)元素。步驟7 取出該元素的值,并將值賦給存儲(chǔ)過程中相應(yīng)的自定義變量。步驟8 通過SQL的添加語句將自定義變量添加到數(shù)據(jù)庫對應(yīng)的字段中。步驟9 通過游標(biāo)順序的迭代XML字符串中的下一元素,重復(fù)步驟7。步驟10 迭代結(jié)束,返回結(jié)果(成功或失敗)。上述步驟4新建一個(gè)數(shù)據(jù)庫存儲(chǔ)過程,該存儲(chǔ)過程具有游標(biāo)及解析XML字符串的 功能的具體步驟如下步驟41 在新建的存儲(chǔ)過程中調(diào)用系統(tǒng)存儲(chǔ)過程完成XML的解析工作。該系統(tǒng)存 儲(chǔ)過程擁有讀取作為輸入提供的XML文本,然后使用MSXML分析器(Msxmlsql.dll)對其進(jìn) 行分析,并提供分析后的文檔供使用。分析后的文檔對應(yīng)XML文檔中的各節(jié)點(diǎn)(元素、屬性、 文本和注釋等)的樹狀表示形式。步驟42 通過游標(biāo)順序的迭代出分析后的文檔中的每個(gè)元素的值。上述的技術(shù)方案實(shí)施時(shí)通過序列化對象批量添加數(shù)據(jù),該方法減少了項(xiàng)目中應(yīng)用 邏輯與數(shù)據(jù)庫往返交換數(shù)據(jù)的通信次數(shù),提高了系統(tǒng)整體性能。最后所應(yīng)說明的是,以上實(shí)施例僅用以說明而并非限制本發(fā)明所描述的技術(shù)方 案;因此,盡管本說明書參照上述的實(shí)施例對本發(fā)明已進(jìn)行了詳細(xì)的說明,但是,本領(lǐng)域的 普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對本發(fā)明進(jìn)行修改或者等同地替換;而一切不脫離本發(fā) 明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
一種批量添加數(shù)據(jù)的方法,其特征在于該方法至少包括如下的步驟步驟1新建一個(gè)可以序列化為XML對象的類型并命名為“類1”,該類型擁有需要添加到數(shù)據(jù)庫中對應(yīng)字段的屬性。步驟2新建一個(gè)“類1”類型的泛型集合并命名為“集合1”。步驟3將需要添加到數(shù)據(jù)庫中的未知數(shù)量的“類1”類型的對象循環(huán)添加到“集合1”中。步驟4序列化“集合1”類型的對象為XML類型的數(shù)據(jù)格式的字符串。步驟5新建一個(gè)數(shù)據(jù)庫存儲(chǔ)過程,該存儲(chǔ)過程可以通過游標(biāo)迭代數(shù)據(jù)。步驟6將序列化的XML字符串作為參數(shù)傳遞給存儲(chǔ)過程。步驟7通過游標(biāo)順序迭代XML類型的字符串,將需要添加的數(shù)據(jù)順序添加到數(shù)據(jù)庫中。步驟8添加成功或失敗,返回結(jié)果。
全文摘要
一種批量添加數(shù)據(jù)的方法,首先新建一個(gè)可以序列化為XML對象的類型并命名為“類1”,該類型擁有需要添加到數(shù)據(jù)庫中對應(yīng)字段的屬性;新建一個(gè)“類1”類型的泛型集合并命名為“集合1”;然后將需要添加到數(shù)據(jù)庫中的未知數(shù)量的“類1”類型的對象循環(huán)添加到“集合1”中;序列化“集合1”類型的對象為XML類型的數(shù)據(jù)格式的字符串;新建一個(gè)數(shù)據(jù)庫存儲(chǔ)過程,該存儲(chǔ)過程可以通過游標(biāo)迭代數(shù)據(jù);將序列化的XML字符串作為參數(shù)傳遞給存儲(chǔ)過程;通過游標(biāo)順序迭代XML類型的字符串,將需要添加的數(shù)據(jù)順序添加到數(shù)據(jù)庫中;添加成功或失敗,返回結(jié)果。本發(fā)明減少了項(xiàng)目中應(yīng)用邏輯與數(shù)據(jù)庫往返交換數(shù)據(jù)的通信次數(shù),提高了系統(tǒng)整體性能。
文檔編號G06F17/30GK101894111SQ20091008418
公開日2010年11月24日 申請日期2009年5月20日 優(yōu)先權(quán)日2009年5月20日
發(fā)明者劉立軍, 張守文, 王磊, 陶勇勝 申請人:灰熊(北京)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
大连市| 岑巩县| 镇安县| 柳江县| 庆城县| 封开县| 葵青区| 汨罗市| 大理市| 湘潭县| 开远市| 丽水市| 木兰县| 吉安县| 上饶县| 平武县| 稷山县| 齐河县| 隆昌县| 阜新| 海南省| 昌邑市| 瑞丽市| 新竹县| 常山县| 巴彦淖尔市| 萨迦县| 临沂市| 肇源县| 阜城县| 泉州市| 海伦市| 海口市| 和田县| 永寿县| 武安市| 左云县| 上杭县| 轮台县| 西吉县| 尼木县|