<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      創建數據庫Web Services

      XML Web Services一個最顯然的用處就是通用數據存取。通過它,你可以把公司的數據庫被Internet上的許多客戶端來訪問,也可以動態地把它導入到第三方的Web站點上,甚至可以允許你的商業伙伴的Web Services去查詢。下面就解釋一下如何創建一個簡單的Web Services,把你的數據庫內容顯示到Internet Explorer、第三方的Web Services和自定義的C#和VB.NET的客戶端。

      合作伙伴、客戶、雇員在使用為多種設備設計的數據時已經有相當豐富的經驗了,不管你現在的數據庫是如何組織的,為了確保通用性,Web Services向客戶端返回XML格式的數據。例如:假如一個物流公司(你的合作伙伴)準備把你的貨物運送給你的客戶,當運送車到達客戶的門前時,他的PDA上顯示出發送地址改變的信息,此時,運貨車就很輕易地把它運送到別的地方去,那是因為你的客戶在數據庫里改變了他的地址,這種變化也自動地在你的合作伙伴的系統里自動更新了。

      下面,就開始編寫自己的ASP.NET數據庫Web Services。首先,檢查你的數據庫,看它是否能夠很輕易地就可以輸出XML格式的數據,看看ADO.NET能否讀出并進行動態轉換。有些情況下,你可能需要對目前的數據庫進行轉換以滿足這種需要。如果你的數據庫訪問代碼變的很復雜,以致于會影響到伸縮性的情況,建議你對數據庫進行轉換。

      為簡單起見,這里假設例子中的數據庫只有一個“Products”表。當然,你的數據庫可能有許多表,也可能你的Web Services需要訪問不止一個數據庫。

      現在,我們就可以開始寫代碼了。打開Visual Studio .NET,在DataBaseWebService目錄下創建一個C#的ASP.NET Web Services項目,如圖: 



      在Service1.asmx上點擊右鍵,把Service1.asmx更名為DataBaseWebService.asmx,這個文件將會包含有從數據庫得到數據的WebMethods,然后,點擊右鍵,選擇“查看代碼”,切換到代碼視圖,更改為DataBaseWebService類和構造器的名字。

      先在開始處引用.NET的類庫:

       

       

       

      using System.Data.SqlClient;
      using System.Data.OleDb;


      然后更改類的名字為DataBaseWebService:

      public class DataBaseWebService : System.Web.Services.WebService
      {
          public DataBaseWebService()
          {
              //CODEGEN:該調用是 ASP.NET Web 服務設計器所必需的
              InitializeComponent();
          }
          //...
      }


      在Hello World方法的結尾處寫上自己的方法代碼,第一個方法SQLDB用來訪問SQL Server數據庫,它處理客戶端發送的SQL Server查詢,SQLDB的參數從瀏覽器地址欄傳送的查詢語句,所有的WebMethod方法的代碼都有try/catch語句,用來處理查詢失敗時輸出一些錯誤信息。如果WebMethod方法在運行時出現例外,catch語句產生一個數據集,是一個包含錯誤信息的Error表。

      SQLDB方法首先創建并打開SQL數據庫連接,連接字符串在你的服務器上應當是唯一的,做為例子,我們使用Visual Studio .NET安裝時自帶的示例數據庫;接下來,SQLDB方法創建SQL數據適配器,參數QUERY用來決定要返回的數據記錄;最后產生查詢結果的數據集,并一XML格式,并以Results為根節點的結果。代碼如下:

      [WebMethod]
      public DataSet SQLDB(string Query)
      {
          try
          {
              SqlConnection CS = 
                  new SqlConnection("server=(local)//NetSDK;database=Northwind;Trusted_Connection=yes");
              SqlDataAdapter myCommand = new SqlDataAdapter(Query, CS);
              DataSet myDataSet = new DataSet();
              myCommand.Fill(myDataSet, "Results");
              return myDataSet;
          }
          catch (Exception ex)
          {
              return DataError(ex);
          }
      }


      用來查詢ACCESS數據庫的方法與SQL基本相同,為了大家測試方便,全部代碼如下:

       
      [WebMethod]
      public DataSet AccessDB(string Query)
      {
          try
          {
              string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
                     + this.Server.MapPath("AccessWebServices.mdb");
              OleDbConnection myAccessConn = new OleDbConnection(strAccessConn);
              OleDbCommand myAccessCommand = new OleDbCommand(Query, myAccessConn);
              OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
              myAccessConn.Open();
              DataSet myDataSet = new DataSet();
              myDataAdapter.Fill(myDataSet, "Results");
              myAccessConn.Close();
              return myDataSet;
          }
          catch (Exception ex)
          {
              return DataError(ex);
          }
      }


      最后寫上處理錯誤的方法:

      public DataSet DataError(Exception ex)
      {
          DataSet errDS = new DataSet("Errors");
          DataTable errTable = errDS.Tables.Add("Error");
          errTable.Columns.Add("Message");
          errTable.Rows.Add(new Object[] { ex.Message });
      
          return errDS;
      }


      現在,你就可以編譯該項目了,看看你的Web Services是否能正常工作。如果能正常工作,結果將如下所示:

      單擊顯示全圖,Ctrl+滾輪縮放圖片

      然后選擇您的數據庫類型,如下圖所示:

      單擊顯示全圖,Ctrl+滾輪縮放圖片

      選擇AccessDB(注意:在進行此操作之前,請先建立數據庫AccessWebServices.mdb,并建立表AcessTableTest,并放到DataBaseWebService目錄之下),在Query里輸入“select * from AcessTableTest”,然后點“Invoke”,你就會得到一個XML格式的查詢結果,顯示如下:

      單擊顯示全圖,Ctrl+滾輪縮放圖片

      如果出現上圖類似的結果,說明你的Web Services能夠使用了。

      如果再配合XSL,就可以產生可以瀏覽的HTML頁面了,你也可以直接在地址欄里輸入:http://localhost/DataBaseWebService/DataBaseWebService.asmx/AccessDB?Query=select+*+from+AcessTableTest得到想要的數據。

      下面用C#寫一個使用該Web Services的客戶端應用程序。新建一個Windows應用程序的VS.NET項目,名為WebServicesClient,在解決方案瀏覽器上點右鍵,選擇添加Web引用,在彈出的對話框里輸入:

      http://localhost/DataBaseWebService/DataBaseWebService.asmx



      然后點擊“添加引用”,VS.NET就會把所需要的文件添加到你的項目里。在From1上添加菜單,并添加兩個菜單項,“得到 SQL Server 產品列表”和“得到 Access 產品列表”,要使用我們剛才創建的Web Services,先創建Web Services的一個實例,如下所示:

       
      private void menuItem1_Click(object sender, System.EventArgs e)
      {
          WebServicesClient.localhost.DataBaseWebService Database 
              = new WebServicesClient.localhost.DataBaseWebService();
          DataSet ds = Database.SQLDB("select * from Products");
          dataGrid1.DataSource = ds.Tables[0];
      }
      
      private void menuItem2_Click(object sender, System.EventArgs e)
      {
          WebServicesClient.localhost.DataBaseWebService Database
              = new WebServicesClient.localhost.DataBaseWebService();
          DataSet ds = Database.AccessDB("select * from AcessTableTest");
          dataGrid1.DataSource = ds.Tables[0];
      }


      最后,運行新建立的Window應用程序,就可以分別得到我們剛才所舉的數據庫里的數據了。如下圖所示:

      單擊顯示全圖,Ctrl+滾輪縮放圖片 

      posted @ 2009-07-08 14:10  .NET快速開發框架  閱讀(557)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲国产一区二区三区四| 熟妇人妻无码中文字幕老熟妇| 国产亚洲人成网站观看| h无码精品3d动漫在线观看| 国产亚洲av手机在线观看| 亚洲第一极品精品无码久久| 门国产乱子视频观看| 亚洲国产精品一区二区久| 四虎成人免费视频在线播放| 宝贝腿开大点我添添公口述视频| 丰满人妻一区二区三区色| 亚洲国产福利成人一区二区| 亚洲最大日韩精品一区| 久久亚洲精品亚洲人av| 性做久久久久久久久| 无码a∨高潮抽搐流白浆| 亚洲avav天堂av在线网爱情| 久久久久国产精品熟女影院| 中文文字幕文字幕亚洲色| 成人又黄又爽又色的视频| 亚洲成a人无码av波多野| 天堂在线最新版av观看| 国产午夜福利视频在线观看| 女的被弄到高潮娇喘喷水视频| 国产精品普通话国语对白露脸| 榆中县| 人人爽人人澡人人人妻| 青青青青久久精品国产| 亚洲精品二区在线播放| 国产午夜福利av在线麻豆| 熟女少妇精品一区二区| 午夜福利日本一区二区无码| 最新亚洲人成网站在线影院| 余庆县| 思思热在线视频精品| 久久精品一偷一偷国产| 网友偷拍视频一区二区三区| 亚洲日韩性欧美中文字幕| 车致| 无码人妻一区二区三区线| 伊人久久大香线蕉综合影院|