訪問從數據庫中檢索的DataTable中的對象時,是否有任何理由不將該對象轉換爲所需的類型,還是有理由使用convert?我知道規則是在我們知道我們正在處理的數據類型時進行的,並在嘗試將數據類型更改爲不是時進行轉換。假定我們知道列中存儲了什麼數據類型,那麼演員似乎是合適的,但是有沒有任何數據庫類型問題,這意味着我們不能依靠這個問題?從數據庫檢索數據時進行轉換或轉換?
5
A
回答
4
我總是會投,因爲你說的原因。我知道,你需要處理的陷阱是:
你顯然需要能夠處理DBNulls(例如,通過與Convert.IsDBNull測試)
在我的ExecuteScalar的情況下,相信你需要檢查null和DBNull。
即使對於聲明爲INT的列,SQL Server @@ IDENTITY和SCOPE_IDENTITY函數也會返回數字(十進制)。在這種情況下,您可以將兩次「(int)(十進制)值」轉換爲T-SQL代碼,例如: 。
INSERT INTO MyTable的... SELECT AutoIdColumn FROM MyTable的WHERE AutoIdColumn = SCOPE_IDENTITY()
或
INSERT INTO MyTable ...
SELECT CAST(SCOPE_IDENTITY() AS INT)
0
兩個CAST
和CONVERT
用於顯式的一個的表達式轉換數據類型到另一個。但是,使用CONVERT
,您也可以指定格式樣式。
語法CAST:
CAST (expression AS data_type [ (length) ])
語法CONVERT:
CONVERT (data_type [ (length) ] , expression [ , style ])
0
當從RDBMS retreiving你應該讓本地和請求類型的數據庫驅動程序句柄編組。
CAST受SQL標準認可,適用於最多數量的RDBMS平臺。
CONVERT可在較少的平臺上使用。
如果您有多平臺協調CONVERT只能用於特殊情況,例如用CAST無法實現的自定義格式。
相關問題
- 1. 從數據庫檢索數據時出現換行符
- 2. 使用pyodbc進行數據轉換以查詢iSeries數據庫 - 轉換錯誤
- 3. 從數據庫轉換時間
- 4. 從HDFS轉換源數據並通過Talend進行轉換
- 5. Doctrine SQL Server uniqueidentifier在從數據庫檢索時沒有轉換爲char或nvarchar
- 6. 建模的NoSQL數據庫(從SQL數據庫轉換時)
- 7. 從數據庫中檢索到的數據忽略換行符
- 8. 數據庫轉換器
- 9. 轉換Visual FoxPro數據庫
- 10. 轉換數據庫爲utf8
- 11. 數據庫空轉換
- 12. 轉換數據到mysql數據庫
- 13. 轉換gridview數據庫中的數據
- 14. 轉換數據
- 15. 轉換數據
- 16. 轉換數據
- 17. 數據轉換
- 18. 如何進行數據轉換:NSArray char
- 19. silverlight 2綁定數據進行轉換?
- 20. 將數據庫行轉換爲對象
- 21. 將數據庫行轉換爲列
- 22. 數據行轉換成int
- 23. 從Excel數據轉換
- 24. 如何在從firebase數據庫檢索數據到textview時創建換行符?
- 25. 將AWS RDS數據庫轉換爲InnoDB,數據庫「mysql」是否需要轉換?
- 26. 從列到行的數據轉換
- 27. 將整數轉換數據庫轉換爲使用php的json
- 28. 轉義/清理從數據庫檢索到的數據
- 29. 數據轉換(集?)
- 30. GIS數據轉換