• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > .NET的數據傳輸之道

    .NET的數據傳輸之道

    作者: 時間:2012-05-02 來源:網絡 收藏

    litm.SubItems(1)=XMLRS(Description)

    本文引用地址:http://www.czjhyjcfj.com/article/149158.htm

    litm.SubItems(2)=XMLRS(Price)

    XMLRSMoveNext

    Loop

    XMLRSClose

    代碼說明:

    傳遞給SOAP方法的兩個參數(DNS和SQL)是從TextBox控件中取得的,其返回值是XML格式的ADO數據集。如需了解同SOAPCall函數及其參數有關的更詳細信息,請參閱我的循序漸進文章“為Microsoft做好準備”。

    正如您看到的,整個實現方式類似于ADORecordset的使用方式(簡化了代碼復用)。以“XMLRS…”開始的這些函數保存在XMLRS.bas模塊,讓我們深入到模塊內部看一下。以下是XMLRSOpen函數中的一部分代碼:

    'CreateDOMobject

    SetpoXML=CreateObject(Microsoft.XMLDOM)

    'Loadstring

    psXML=XML

    'LoadDOM

    poXML.loadXMLpsXML

    'Positiondatanodes

    SetpoDataNodes=poXML.documentElement.selectNodes(//rs:data)

    SetpoDataNodes=poDataNodes.Item(0).childnodes

    代碼說明:

    psXML變量用來存放ADORecordset的XML表述。

    PoXML變量是XMLDOM對象,用來存放記錄集數據。

    PoDataNodes變量保存所有記錄集數據行的XML元素。

    我們現在有了一個對象,該對象包含了記錄集中的所有數據行,它就是我們開始數據導航所需要的東西。我們可以使用XMLRSMoveFirst和XMLRSMoveNext函數進行數據導航。下面讓我們仔細考察一下XMLRSMoveNext函數:

    'ChecknotEOF

    IfNotXMLRSEOF()Then

    'Increasepointer

    piRecordPos=piRecordPos+1

    EndIf

    為了理解整個程序邏輯,讓我們看看XMLRSEOF函數:

    'CheckEOF

    IfpiRecordPos>poDataNodes.length-1ThenXMLRSEOF=True

    現在,我們需要知道如何取出實際數據,完成這一工作的是XMLRS:

    'Checkiffieldnumberorfieldname

    IfIsNumeric(FieldID)Then

    'GetFieldData

    XMLRS=poDataNodes(piRecordPos).Attributes(FieldID).Text

    Else

    'GetFieldData

    XMLRS=poDataNodes(piRecordPos).Attributes.getNamedItem(FieldID).Text

    EndIf

    正如您所看到的,我們可以提供一個字段名(就像我在窗體代碼中所做的)以及一個字段序號

    如需了解更多詳細信息,我建議您認真閱讀完整的示例的代碼。

    助你上路

    您應該仔細分析XMLRS.bas模塊,我在此只提供了幾個必需的函數。以便您能很快上手。當然,我們還應該實現更多的ADORecordset功能。因為該模塊使用了XMLDOM對象,您需要具有一些XML知識。

    當然,這并不是一個解決這個問題的“企業級”解決方案。我希望ADOCE能在將來在Recordset(或者類似構造)中加入對XML的支持,這樣就不用再使用XMLRS.bas模塊了。如果容量發生了變化,只需對我提供的這些代碼做一些小的修改即可,從而保護了您的前期投資和工作。

    同時,如果您決定在該模塊的基礎上完成一些開發工作,您可以同我聯系。我將利用您完成的增強版本對本文所介紹的示例代碼進行升級。這將極大地增加您的知名度!

    未來會怎樣

    我相信,在不遠的將來,所有的特性都將在PocketPC得到應用。其中可能包括類似“連接斷開”式ADORecordsets和XML支持這樣一些特性。我甚至相信,將ADORecordset數據(XML)封裝進SOAP調用這一過程對開發人員來說將是透明的。

    您可以修改XMLRS.bas以使其適應新的XML數據集結構,您也可以簡單地對代碼進行升級,使用Recordset功能代替XMLRS中的函數。

    小結

    從任何地方對企業數據加以訪問的能力所蘊藏的能量是異常巨大的。在多層解決方案(帶有組件)中,您可以允許您的業務邏輯被世界各地的用戶所使用,甚至是那些無線用戶。


    上一頁 1 2 下一頁

    關鍵詞: 數據傳輸 .NET

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 盐城市| 开平市| 临泽县| 孝义市| 喀什市| 蓝山县| 罗甸县| 加查县| 本溪市| 乐陵市| 甘谷县| 三亚市| 榆社县| 汉阴县| 榆林市| 巴林右旗| 古浪县| 松原市| 八宿县| 高安市| 沁阳市| 紫金县| 洛浦县| 泽库县| 尉犁县| 玉门市| 乌鲁木齐县| 昌都县| 宝丰县| 莱州市| 吉木乃县| 商南县| 盘山县| 南靖县| 宜春市| 屏东县| 元氏县| 外汇| 嘉义市| 四子王旗| 榆社县|