成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

支持MySQL數據庫,SPL升級到3.2

數據庫 MySQL
SPL升級到3.2全面支持MySQL數據庫在實際中的應用比例還是占為多數的,如果你對這一技術,心存好奇的話,此文章將會揭開它的神秘面紗。

此文章主要講述的是SPL升級到3.2全面支持MySQL數據庫的實際應用與具體操作,如果你是MySQL數據庫方面的新手,對MySQL數據庫的相關實際應用不是很了解的話,以下的文章會給你提供更全面的知識。

SPL從上次的3.1.0.5開始,經過了一段時間,積累了一些修改并進行了MySQL數據庫的支持,現在發布SPL版本為3.2.0.4,Dll下載地址:這里 。只需要在項目中,把原來的Dll覆蓋即可,如果還沒下載過SPL早期版本的朋友,本次SPL自上次發布的3.1.0.5以后進行的更新有:

1、支持MS SQL SERVER中的Bit型數據類型

映射到ClassMap中的類型為boolean,如:

 

  1. <attribute name="IsOver" column="IsOver" type="boolean" /> 

對應的實體類類型為bool型,如:

 

  1. private bool m_IsOver;   
  2. public bool IsOver  
  3. {  
  4. get  
  5. {  
  6. return this.m_IsOver;  
  7. }  
  8. set  
  9. {  
  10. this.m_IsOver = value;  
  11. }  

在查詢時可以通過Condition進行比較判斷了:

  1. Codition c=....  
  2. c.AddEqualTo("IsOver",false); 

這會最終生成 IsOver='0'的查詢條件

2、提供了對數據源的提供者類型的判斷,這將方便區分不同的MySQL數據庫提供者手動組裝不同的SQL語句

用Setting.Instance().GetDatabaseVendor(dbName)根據dbName數據源取得數據源提供者,然后與DatabaseVendor枚舉型比較

如Access的日期比較與Sql Server的不一致:一個采用#號,一個采用'號

 

  1. if(Setting.Instance().GetDatabaseVendor(dbName)==DatabaseVendor.MsAccess)  
  2. {  
  3. builder.Append(" and SpecialPriceD2.FromDate<=#"+itemDate.Day.ToString()+"-"+itemDate.Month.ToString()+"-"+itemDate.Year.ToString()+"#");  
  4. builder.Append(" and SpecialPriceD2.ToDate>=#"+itemDate.Day.ToString()+"-"+itemDate.Month.ToString()+"-"+itemDate.Year.ToString()+"#");  
  5. }  
  6. if(Setting.Instance().GetDatabaseVendor(dbName)==DatabaseVendor.MsSqlServer)  
  7. {  
  8. builder.Append(" and SpecialPriceD2.FromDate<='"+itemDate.Day.ToString()+"-"+itemDate.Month.ToString()+"-"+itemDate.Year.ToString()+"'");  
  9. builder.Append(" and SpecialPriceD2.ToDate>='"+itemDate.Day.ToString()+"-"+itemDate.Month.ToString()+"-"+itemDate.Year.ToString()+"'");  

 

這個功能將為系統對多種MySQL數據庫的支持***的靈活性,雖然SPL本身的“實體”與“標準”都可以區分不同的數據源提供者,但在需要手寫SQL的地方,也需要根據不同的數據源提供者提供不同的語句執行

3、修訂了對所有保留字的兼容性

目前對所有的SPL中的操作,都加了定界符,ORACLE采用“"”號,MS的采用“[]”號,MySql的采用“`”號,所有測試都通過了

4、在Condition里添加了對Null值的查詢功能

此方式只針對AddEqualTo()和AddNotEqualTo()有效:

  1. c.AddEqualTo("字段名",System.DBNull.Value);  
  2. c.AddNotEqualTo("字段名",System.DBNull.Value);  

5、增加了對MySql數據庫的支持

SPL對MySql的訪問連接采用的是MySql提供的專用.NET connector,此驅動應該說是目前.NET連接MySql的***選擇,在使用SPL訪問MySql時,只需要安裝一下此驅動即可,下載與介紹請看

使用時只需要配置DatabaseMap時類型設為“MySql”即可,如下:

  1. <database name="MySqlDB" type="MySql">   
  2. <parameter name="User Id" value="root"/> 
  3. <parameter name="Data Source" value="localhost"/> 
  4. <parameter name="Database" value="mysql"/> 
  5. <parameter name="password" value=""/> 
  6. <classMapFile path="ClassMap.xml" /> 
  7. </database> 

只需這里配置后,SPL在具體應用中與其他的完全一樣,測試情況:

實體測試--->通過

RetrieveCriteira、UpdateCriteria、DeleteCriteria測試--->通過

Transaction測試--->通過

自動增長主鍵測試--->通過

TOP功能測試--->通過

6、對DateTime的Null值進行了處理 (3.2.0.1開始支持)

如果要對DateTime類型的字段賦于Null值,只需要使用DateTime.MinValue即可:

aEntity.CreateDate=DateTime.MinValue;

在SPL內部會判斷如果DateTime.MinValue的話,自動保存到MySQL數據庫為System.DBNull.Value,這就解決了不能給 DateTime類型直接賦于System.DBNull.Value的問題。

7、修訂了UpdateCriteria對屬性名與字段名不一致時導致的錯誤(3.2.0.2開始修訂)

原來在UpdateCriteira時沒有對屬性進行轉化為字段名,導致在屬性名與字段名不一致的情況下會找不到字段。

(非常感謝iamsunrise提供的建議,請下載了SPL3.2的朋友重新下載一下)
(感謝子揚報出的BUG)

8、本3.2.0.4已經修復了DataBaseType的MySql類型了。

【編輯推薦】

  1. MySQL 備份的實際應用與功能介紹
  2. MySQL表種類中兩大經常使用的類型
  3. 遠程連接MySQL速度慢如何破解?
  4. MySQL命令備忘的“后備軍”
  5. MySQL常用技巧大匯總
責任編輯:佚名 來源: 互聯網
相關推薦

2011-04-12 09:07:50

復制數據庫SQL 2008

2011-04-07 09:44:23

SQL2000數據庫SQL2005

2025-03-24 13:23:15

DockerMySQL

2024-04-18 09:00:00

MySQL數據庫

2011-09-27 09:13:16

Ubuntu 11.0

2011-02-18 09:06:15

ChromeChrome DevLinux

2020-01-13 10:00:32

升級Windows 10Windows

2021-07-09 13:58:16

MySQL數據庫運維

2012-06-11 18:51:40

MySQL漏洞

2009-08-02 08:54:46

Windows 7 R系統升級

2015-07-16 17:00:15

MySQLMariaDBPercona

2023-02-28 00:01:53

MySQL數據庫工具

2011-04-14 11:14:21

OracleNoSQLMySQL

2022-09-12 21:10:42

LinkerdKubernetes

2013-12-26 14:54:58

Windows 8.1微軟

2023-06-13 10:44:51

Debian 11Debian 12

2015-07-29 10:21:03

微軟Windows 10升級

2017-09-06 17:30:41

網站升級HTTPS

2013-11-27 09:38:11

OpenSUSE 13OpenSUSE 12

2012-10-11 09:43:34

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品网页 | 久久精品国产久精国产 | 欧美日韩大片 | 久久婷婷国产麻豆91 | 香蕉久久久 | 激情六月丁香婷婷 | 免费一区 | www.av7788.com| 久久精品国产一区 | 天天操网 | 中文字幕在线视频免费视频 | 一级黄色片网址 | 午夜激情免费视频 | 欧美亚洲综合久久 | 亚洲不卡一 | 国产精品久久久久久吹潮日韩动画 | 在线免费亚洲视频 | 9191成人精品久久 | 精品二区视频 | 精品在线一区二区 | 韩日中文字幕 | 成人性视频免费网站 | 一区二区三区四区在线视频 | 亚洲免费人成在线视频观看 | 九一视频在线观看 | 久久综合成人精品亚洲另类欧美 | 一区二区在线免费播放 | 黄色毛片大全 | 久久久久久免费毛片精品 | 伊人伊人 | www.日本精品 | 98成人网| 成人在线免费观看视频 | 日韩视频在线免费观看 | 男女午夜免费视频 | 精品久久久久久亚洲精品 | 久久中文一区二区 | 在线免费观看毛片 | 久久久久免费 | 亚洲精品一 | 国内精品久久影院 |