亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

[SQL]躺著也中槍的datetime類型

2024-07-21 02:47:54
字體:
來源:轉載
供稿:網友
[SQL]躺著也中槍的datetime類型寫在前面

本來這個東西,我是不想在這里總結的,今天有初學者的朋友問我了,那就不得不說說了,你肯定也踩過這樣的坑,沒遇到,說明你運氣好,編碼習慣好。那還是言歸正傳吧。避免你中槍,還是掃一眼這篇文章吧。

一個例子

測試環境:sqlserver2012,vs2013

下面看一個簡單的例子,例子非常簡單,就不再寫注釋了。一個測試的數據表TB_UserInfo:

一個再簡單不過的表,自增的id,用戶名字,注冊時間,從上圖你也看到了,是允許為空的。

再弄一個簡單的測試程序。

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Data; 7 using System.Data.SqlClient; 8 namespace Wolfy.SQLDateTimeDemo 9 {10     class PRogram11     {12         static void Main(string[] args)13         {14             string strConn = "server=.;database=test;uid=sa;pwd=sa;";15             string strSql = "insert into TB_userInfo values(@Name,@RegDateTime)";16             UserInfo user = new UserInfo() { Name = "wolfy" };17             try18             {19                 using (SqlConnection conn = new SqlConnection(strConn))20                 {21                     using (SqlCommand cmd = new SqlCommand(strSql, conn))22                     {23                         cmd.Parameters.Add(new SqlParameter("@Name", user.Name));24                         cmd.Parameters.Add(new SqlParameter("@RegDateTime", user.RegDateTime));25                         conn.Open();26                         if (cmd.ExecuteNonQuery() > 0)27                         {28                             Console.WriteLine("注冊成功");29                         }30                         else31                         {32                             Console.WriteLine("注冊失敗");33                         }34                     }35                 }36             }37             catch (Exception ex)38             {39                 throw ex;40             }41         }42     }43     /// <summary>44     /// 用戶信息類45     /// </summary>46     class UserInfo47     {48         /// <summary>49         /// 編號50         /// </summary>51         public int Id { set; get; }52         /// <summary>53         /// 姓名54         /// </summary>55         public string Name { set; get; }56         /// <summary>57         /// 注冊時間58         /// </summary>59         public DateTime RegDateTime { set; get; }60     }61 }

我們知道,如果在使用類的屬性的時候,你不為他賦值,則采用默認值。

可見它是有默認值的。

那我們繼續往下走,再看看

出現了,這個異常,想必很多人都遇到過吧。

可以看出,vs中datetime類型的默認值與sqlserver中的datetime類型范圍的確存在沖突。突然有這樣的想法,為什么這兩種默認值不兼容呢?考慮到現在的軟件都會和數據庫相結合,這樣設計是不是有點不合理了?這東西,咱也是無法改變了,也只能選擇接收了。盡量做到規范設計吧。

有兩種做法可以解決這個問題:

方案一:

在添加數據的時候,為datetime類型的值賦值為當前時間。

1   UserInfo user = new UserInfo() { Name = "wolfy", RegDateTime=DateTime.Now };

方案二:

創建數據表的時候給時間類型的字段添加默認值約束

1 語法:2 ALTER TABLE table_name3 ADD CONSTRAINT constraint_name4 DEFAULT constant_expression [FOR column_name]5 參數說明:6  table_name:要創建默認約束的表名稱。7  constraint_name:默認約束名稱。8  constant_expression:默認值。
1 alter table tb_userinfo add constraint default_RegDateTime default getdate() for [RegDateTime]

這種做法比較保險。推薦!

總結

這個知識點再容易不過了,估計很多初學者都會踩這樣的坑,不過還好,踩過了就長記性了,也是有好處的。為什么會有這樣的問題?可能你對伙伴比較信任,潛意識覺得他肯定會在數據庫中添加默認約束的。到最后中槍的還是自己。所以在設計程序,編寫代碼的時候,一定要嚴謹!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97视频在线观看亚洲| 国产日韩精品视频| 日韩有码在线视频| 久久久999成人| 亚洲男人天堂2023| 日韩精品久久久久| 国产日韩欧美自拍| 国产丝袜一区视频在线观看| 中文字幕在线观看亚洲| 欧美一级淫片丝袜脚交| 成人黄色影片在线| 亚洲xxxxx电影| 国产精品扒开腿做爽爽爽的视频| 久久精品久久精品亚洲人| 92版电视剧仙鹤神针在线观看| 黄色一区二区在线| 久久精品国产96久久久香蕉| 欧美精品成人91久久久久久久| 日韩免费在线看| 国产在线观看91精品一区| 精品中文字幕久久久久久| 色噜噜狠狠狠综合曰曰曰| 亚洲精品99久久久久中文字幕| 欧美性猛交xxxx乱大交蜜桃| 欧美成年人视频网站| 久久九九免费视频| 国产日韩欧美综合| 亚洲色图激情小说| 综合网日日天干夜夜久久| 国产99在线|中文| 亚洲美女自拍视频| 欧美一性一乱一交一视频| 国产精品女视频| 欧美丝袜一区二区三区| 国产成人精品999| 日本欧美精品在线| 草民午夜欧美限制a级福利片| 高清日韩电视剧大全免费播放在线观看| 欧美精品videos性欧美| 欧美成人免费大片| 日韩激情第一页| 亚洲视频免费一区| 少妇av一区二区三区| 色综合久久中文字幕综合网小说| 久久九九精品99国产精品| 97在线日本国产| 国产成人精品999| 欧美日韩日本国产| 成人免费大片黄在线播放| 日韩最新av在线| 中文字幕亚洲一区二区三区| 色偷偷av一区二区三区乱| 国产午夜精品一区理论片飘花| 中国日韩欧美久久久久久久久| 亚洲国产成人在线播放| 日韩精品欧美国产精品忘忧草| 亚洲成人久久久久| 久久精品视频在线观看| 欧美高清不卡在线| 国产精品高潮呻吟久久av野狼| 国产精品成人在线| 亚洲第一免费播放区| 欧美福利视频在线| 欧美猛交免费看| 5278欧美一区二区三区| 日韩亚洲国产中文字幕| 亚洲欧美视频在线| 成人黄色片网站| 青青草原一区二区| 国产成人亚洲综合91精品| 欧美国产日韩一区| 91精品久久久久久久久久入口| 久久精品影视伊人网| 亚洲自拍小视频免费观看| 亚洲国产天堂久久综合网| 国产精品专区h在线观看| 欧美国产日韩xxxxx| 成人免费网视频| 亚洲aa中文字幕| 国产精品视频久久久| 国产精品99久久久久久人| 欧美激情影音先锋| 海角国产乱辈乱精品视频| 97国产在线观看| 国产精品影院在线观看| 国外日韩电影在线观看| 国产精品久久久精品| 亚洲影视中文字幕| 日韩亚洲欧美中文在线| 亚洲新声在线观看| 97在线精品国自产拍中文| 亚洲国产精品99久久| 国产精品成久久久久三级| 欧美在线日韩在线| 中文字幕欧美日韩精品| 日韩中文字幕国产精品| 国产a∨精品一区二区三区不卡| 国产一区二区三区欧美| 亚洲精品电影久久久| 亚洲成av人片在线观看香蕉| 久久久久亚洲精品| 亚洲影视九九影院在线观看| 亚洲国产精品高清久久久| 欧美视频在线观看免费| 91av在线国产| 欧美裸体xxxx| 国产亚洲视频在线| 成人在线免费观看视视频| 91精品久久久久久久久| 欧美精品videos另类日本| 国产精品私拍pans大尺度在线| 亚洲成人精品av| 亚洲xxx大片| 欧美精品久久久久久久| 亚洲在线免费视频| 欧美丝袜第一区| 欧美在线视频免费播放| 久久久噜噜噜久久中文字免| 亚洲最大av在线| 免费成人高清视频| 国产精品成人观看视频国产奇米| 亚洲丁香婷深爱综合| 亚洲一区二区久久久久久久| 国产午夜精品免费一区二区三区| 久久久精品日本| 国产精品久久久久不卡| 国产精品大片wwwwww| 中文字幕无线精品亚洲乱码一区| 91热福利电影| 国产经典一区二区| 成人在线视频福利| 欧美日韩在线视频一区| 欧美性猛交xxxxx免费看| 国产精品国产亚洲伊人久久| 在线精品播放av| 国产精品福利网站| 奇门遁甲1982国语版免费观看高清| 欧美xxxx18性欧美| 91chinesevideo永久地址| 欧美一区二三区| 操人视频在线观看欧美| 中文字幕在线亚洲| 国产成人自拍视频在线观看| 欧美性极品xxxx做受| 91av在线网站| 亚洲精品电影网在线观看| 国产免费一区二区三区香蕉精| 精品国产福利在线| 欧美一级成年大片在线观看| 91国产精品视频在线| 国产精品三级美女白浆呻吟| 亚洲福利在线播放| 日本精品va在线观看| 欧美巨乳在线观看| 77777亚洲午夜久久多人| 色婷婷综合久久久久| 亚洲一区二区国产| 国产精品久久久一区| 欧美日韩在线视频一区二区| 国产日韩av高清| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲精品视频在线播放| 欧美高清无遮挡| 亚洲女人天堂网|