db2 varchar轉decimal,c# mysql datetime 判斷為空 dbnull_轉:SqlServer中的datetime類型的空值和c#中

 2023-12-06 阅读 28 评论 0

摘要:SqlServer中的datetime類型的空值和c#中的DateTime的空值的研究在SqlServer 2000中datetime 的空值即默認值為1900-01-01 00:00:00,C#中DateTime的空值是最小值0001-01-01 00:00:00,對于數據庫的插入,更新為空值的日期值來說

SqlServer中的datetime類型的空值和c#中的DateTime的空值的研究

在SqlServer 2000中datetime 的空值即默認值為1900-01-01 00:00

:00,C#中DateTime的空值是最小值0001-01-01 00:00:00,對于

數據庫的插入,更新為空值的日期值來說多少有點不如人所愿。比如

說我插入的是空值我取出的也要是空值,但SqlServer偏偏給了我一

db2 varchar轉decimal、個默認值。有點無奈。對于如何協調二者,給我帶來了不少麻煩。

引起這樣的原因是:DateTime和Int,Double一樣都是值類型,必須

有一個值。

解決的辦法:

1.從數據庫的角度:把該字段的類型改為自定義的字符串型,該字符

串格式為日期樣式。這種辦法比較簡單,其實就是字符串型,插入時

mysql更新一個字段為空?對插入的字符串做日期的正則判斷。

2.這種方法是從網上搜索出于:

300.entry 對數據類型null的處理當C#與SQL Server數據類型定義不

一致時需要怎么處理呢?

例如一個DateTime,當DB中該字段可以為空時,要求它既能用C#的

DateTime賦值,又可以賦SQL Server的null值。

db2把null替換成0。我采用的解決方法是,在Model對應的類中,將該字段對應的

property的數據類型設為object。

賦值時,判斷,若是空值則賦給DBNull.Value。

取值時,判斷,若取到DBNull.Value則顯示null,否則要進行一次數

據轉換。

這是為了DA在對DB操作時,若將此字段作為參數,只需要將get到的

datetime怎么用。值直接賦給salParameter即可。(若model的get不轉換,則DA中要判

斷是否要轉換。因為C#的DBNull和DateTime均可賦給

sqlDBType.DateTime;反之,sql中取到的空值是以DBNUll.Value出

現的,不能賦給C#的DateTime。

Forum有一個很大的特點,就是在調用DB.cs的方法時,參數的類型幾

乎都是object。在sp中再仔細定義各參數的格式,由sql自己轉換。

mysql查看數據庫,對于可空的參數,在sp中定義=null即可。Forum傳一個null參數的情

況很多,總是在接收方去判斷參數,有些參數是null寫入數據庫的;

但是有些參數如果為null是有其它意義的,需要條件分支代碼去處理

。而我習慣于參數首先初始化,如果有不同情況共用同一個方法則增

加一個參數用于判斷。我認為使參數為null也有實際意義不是很好的

辦法,因為會造成一些不明意義的條件分支,對以后的升級和維護造

mysql判斷是否為空、成潛在的危險。

3.如下語句能實現插入:

insert into Employees (lastname,firstname,hiredate) values

('hu','shuai',null),

insert into Employees (lastname,firstname,hiredate) values

('hu','shuaishuai','')

mysql主鍵可以為空嗎,有著明顯不同的結果。可以在Sql 語句上實現。但在程序中,特別是

面向對象的程序設計中,在加上三層架構的一些問題。實現起來頗為

不便。所以我正在努力尋找一種方法巧妙的實現之,也希望大家給點

建議。

三 。

最簡單的方法:

mysql增加自增字段。在頁面賦一個默認日期

在sql語句中參數賦值時判斷參數值是否等于默認日期 如果等于為參

數賦值DBNull.Value

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/188505.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息