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

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

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

      PDF.NET(PWMIS數據開發框架)之SQL-MAP目標和規范

      SQL-MAP的目標:

      1. 集中管理SQL語句,所有SQL語句放在專門的配置文件中進行管理;
      2. 通過替換SQL配置文件,達到平滑切換數據庫到另外一個數據庫,比如從Oracle的應用移植到SQLSERVER;
      3. 由DBA來寫程序,對于復雜的查詢,DBA寫的SQL語句和存儲過程更有保障更有效率,SQL-MAP工具讓DBA也能夠寫.NET程序;
      4. 代碼自動生成,由于在SQL配置文件中指定了很多編程特性,所以可以使用專用工具將配置文件映射到.NET代碼;

       

      PDF.NET 數據開發框架介紹(含實例程序下載)請看:

      http://www.pwmis.com/sqlmap

       

      SQL-MAP代碼工具的詳細使用介紹(圖解)請看:
      http://www.pwmis.com/sqlmap/toolshelp.htm
      ----------------------
      SQL-MAP的規范:
      1,通用配置:

      SqlMap 配置節

       EmbedAssemblySource 屬性:要將本文將嵌入的程序集名稱和資源文件名稱,格式為:
      程序集名稱,默認命名空間.文件名.擴展名

      如果要將配置文件作為嵌入式文件編譯,請指定該項值。該配置主要指導代碼生成器生成相應的代碼信息。

       

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:noNamespaceSchemaLocation="SqlMap.xsd"  

      將這句話加入到這里,可以使得SqlMap配置文件編寫的時候具有智能提示。需要在當前目錄下有sqlmap.xsd 文件。

       

      2,節點類型

      SQL-MAP的數據CRUD操作類型(CommandClass 的子節點類型):
                Select/Read:   選取數據操作;,
                Update:         更新數據操作;
                Insert/Create:新增數據操作;
                Delete:          刪除數據操作。


       3,節點屬性:

      注:<>表示必選屬性,[]表示可選屬性        
         <CommandName>:查詢的名字,對應于SqlMap數據實體類中的方法名;
         <CommandType>:查詢命令類型,值為Text,StoredProcedure,TableDirect
         [ParameterClass]:查詢參數類,在SQLMap 中表示為一個參數類;
         <#ParaName[:System.Type[,System.DbType[,Size[,ParameterDirection[,Precision,Scale]]]]]#>:
           ParaName:查詢語句中對應的參數名,如果名稱前綴有 @@ 標記,表示該參數是一個替換參數,將忽略后面的定義;
           System.Type:可選,符合CSL規范的類型(CLT)名稱;
           System.DbType:可選,符合DbType 的枚舉,如 AnsiString 等;
           Size:可選,表示參數長度;
           ParameterDirection:可選,表示參數的輸入輸出類型的枚舉值
           Precision:可選,表示參數的數據精度,通常用于Decimal類型
           Scale:可選,表示參數的數據小數位,通常用于Decimal類型
          

      {附注:

      常用CLT:Byte,Int16,Int32,Int64,Single,Double,Boolean,Char,Decimal,String
      [關于通用類型系統(CLT):ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconthecommontypesystem.htm ]
      [DbType 枚舉:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataDbTypeClassTopic.htm ]
      }

          <Script > 配置節,除了有Type表面數據庫類型之外,還必須有 ConnectionString ="" Version="" 這樣的內容,否則,PdfCodeMaker.exe 代碼生成不能生成代碼文件。
             
         <ResultClass>:Select 查詢的結果類型,
             如果返回單值的查詢,請指定 為 ResultClass="ValueType";
             如果返回多個行結果集,可以指定 ResultClass="DataSet",將以System.Data.DataSet的方式填充;
                                      也可以指定 ResultClass="EntityObject",那么將結果填充到實體類中;
                                      或者指定 ResultClass="EntityList",那么將結果填充到實體類列表(集合)中。
                                      
             注意:Insert/Update/Delete 操作類型不需要指定該屬性。
                                     
         <ResultMap>:僅僅在ResultClass="EntityObject" / "EntityList" 有效,表示實體類查詢結果映射;
                         通常表示返回單行(也可返回多行)記錄到一個數據實體對象的映射;
                         例如 要將結果集影射到一個名為 UserInfo 的自定義實體類中,注意必須使用類的全名稱:
                         ResultClass="EntityObject" ResultMap="MyDAL.UserInfo"

       

        [SqlPage]:是否允許SqlMap分頁,默認是False。該屬性僅供代碼生成器使用,不過目前的代碼生成器還沒有提供這樣的功能。

                        開啟該屬性之后,在SqlMapDAL類的方法中,參數中需要增加一個分頁信息數組,并且調用CommandInfo對象的SetPageInfo方法,如下面的實例代碼(紅色的部分為需要增加的代碼):

       

              /// <summary>
              
      /// 返回成交明細(帶分頁)
              
      /// </summary>
              
      /// <param name="WhereString">查詢條件</param>
              
      /// <param name="pageInfo">設置分頁信息,pageInfo[ 0]=記錄數量,pageInfo[ 1]=頁碼,pageInfo[ 2]=頁大小</param>
              
      /// <returns></returns>
              public DataSet GetTradeList(string WhereString, int[] pageInfo )
              {
                  //獲取命令信息
                  CommandInfo cmdInfo = Mapper.GetCommandInfo("GetTradeList");
                  //執行參數替換
                  cmdInfo.SetParameterValue("WhereString", WhereString, enumParamType.ReplacedText);
                  cmdInfo.SetPageInfo(pageinfo);
                  //執行查詢
                  return CurrentDataBase.ExecuteDataSet(CurrentDataBase.ConnectionString, cmdInfo.CommandType, cmdInfo.CommandText, null);
                  //
              }//End Function

      注意:你可以為你現有的SqlMapDAL方法增加一個重載,把這個重載的代碼放入一個分部類文件中,這樣就不用擔心代碼生成器的影響了。


         4,版本記錄:               
         ver 1.0.2 修改:
         支持同名參數,如果腳本中有多個同名參數,那么首先處理遇到的第一個參數,忽略后面的同名參數定義;
         支持參數“字符串替換”,用于提供構造復雜動態SQL的支持,參數名用 % % 分割,
           例如 : Where #%WhereString%# 或者 Where # %WhereString% # ,系統忽略空白字符。
           
         ver 4.0 修改:
         <SqlPage>:僅僅在 SqlPage="True" 的時候,代碼生成器將生成支持分頁的DAL代碼,具體過程就是在原有參數
         的最后增加一個可選參數 params int[] pageInfo,并在方法體中增加  cmdInfo.SetPageInfo (pageInfo ) 語句。


      SQL-MAP生成工具

      1,在VS的IDE中使用XSD:

      根據該規范寫了一個檢查配置文件格式的XSD,文件地址:

      https://files.cnblogs.com/bluedoctor/SqlMap.xsd.xml

      由于博客園不允許上傳XSD格式的文件,所以大家下載這個文件以后把.xml后綴名去掉即可。

      在編寫SQL-MAP配置文件的時候,在VS2008的菜單 “XML”-〉“架構”里面,選擇這個文件即可。這樣編寫配置文件就可以有智能提示了。

      注意:如果下載了PDF.NET集成開發工具,在工具的安裝目錄下面,也有這個sqlmap.xsd 文件。


      2,使用SQL-MAP配置管理器:

      這是一個可視化的編輯程序,可以在PdfNet集成開發工具中找到,也可以在之前版本的示例程序包中找到。

       

      下圖是一個SqlMap配置文件跟程序結構的示意圖:

      這個圖例中,SqlMap.config 文件在SqlMapDAL目錄下,因此將這個文件潛入式編譯的時候,它在程序集中的全名稱是“程序集默認命名空間.SqlMapDAL.SqlMap.config” ,注意這個名字對大小寫敏感。EmbedAssemblySource的前面內容部分 “GroupStatistics.Repostitory” 是當前程序集的名稱。


       

      posted on 2011-05-07 00:05  深藍醫生  閱讀(3259)  評論(2)    收藏  舉報

      導航

      主站蜘蛛池模板: 亚洲精品国产一二三区| 国产亚洲tv在线观看| 色偷偷亚洲精品一区二区| 高清免费毛片| 香港日本三级亚洲三级| 中文区中文字幕免费看| 激情综合色综合久久丁香| 国产精品中出一区二区三区| 色色97| 日本a在线播放| 99精品国产在热久久无| 久久99久国产麻精品66| 加勒比中文字幕无码一区| 国产成AV人片久青草影院| 国产精品久久久久aaaa| 国产男女猛烈无遮挡免费视频网站 | 精品无码国产自产拍在线观看蜜| 果冻传媒18禁免费视频 | 大尺度国产一区二区视频| 国产小受被做到哭咬床单GV| 日韩一区二区a片免费观看| 亚洲精品日韩精品久久| 国产精品成人av电影不卡| 国产成人免费观看在线视频| 国产999久久高清免费观看| 99精品国产一区二区三| 亚洲成人网在线观看| 欧美成人h亚洲综合在线观看| 亚洲一二三区精品与老人| 久久se精品一区精品二区国产| 国产成人综合亚洲欧美日韩| 亚洲国产精品一区二区久| 无码va在线观看| 四虎成人精品在永久免费| 男女爽爽无遮挡午夜视频| 无码国产精品成人| 虎白女粉嫩尤物福利视频| 国产午夜成人无码免费看| 日韩深夜视频在线观看| 久青草国产综合视频在线| 国产AV无码专区亚洲AV漫画|