2008年12月1日 星期一

Vistual Studio vs SQL Database的資料型態

近日嚐試將VS2005程式的變數回歸正統,將變數型態寫入SQL DB時等同其參數型態,可慘了!
就舉日期時間格式而言,以往大夥應該都是採用字串的方式傳入SQL DB中,再利用預存程式將參數轉型為smalldatetime或datetime!
但想想寫了那麼長一段時間的程式,為何將傳入參數型態=寫入變數?
終於讓我找到了原因?
利用Parameter.ConverTypeCodeToDbType(TypeCode)方法就行了,別忘了要將FrameWork昇級至3.5喲!
範例如下:(將VS2005的時間型態_TypeCode.Datetime轉換成DB的時間型態_DBType.Date)
Dim p As Parameter = Nothing
Dim d1 As DateTime = DateTime.Now
Dim d2 As DateTime = DateTime.Now.AddHours(23)
With Sqldatasource1
.Clear()
p = New Parameter("start")
p.DbType = Parameter.ConvertTypeCodeToDbType(TypeCode.DateTime)
p.DefaultValue = d1
.Add(p)
End With