2012-08-23 61 views
0

行..這裏是我覺得有趣的一個。我正在使用一個數據表來保存一堆值。我需要存儲TimeSpan。我能夠爲TimeSpan數據類型創建一列。我能夠將數據插入到列中。現在有趣的部分...TimeSpan如何保存並更新

我需要拉出TimeSpan數據並添加另一個TimeSpan數據值並重新保存它。我發現沒有辦法從一個字符串中'.toTimeSpan'。我試圖從桌上拿回來的方式就是這樣。

所以......那裏的任何人都有答案嗎?

的代碼是C#

回答

2

如果你已經它在DataTable,你就不能投的價值?

TimeSpan span = (TimeSpan) row["foo"]; 
TimeSpan total = span + otherSpan; 
row["foo"] = total; 

我期望的棘手位被存儲在數據庫中 - 如果你不存儲在數據庫中,我不會首先使用DataTable,我只是一個集合。

+0

我必須將其從表格中取出並存儲。然後數據表被清除,所有新行都被寫入更新的值。 – user1588668

+0

@ user1588668:將它存儲在哪裏?這是不是很清楚你在這裏問什麼。你真的確定你需要在這裏使用'DataTable'嗎? –

0

假設你只是將它們存儲爲一個字符串,這應該工作;

string dbSpanString = "03:50:03"; // From DB 
TimeSpan span = TimeSpan.Parse(spanString); 

如果存儲爲時間數據類型,那麼也可以使用SqlDataReader.GetTimeSpan()。

TimeSpan將其運算符重載,因此您可以使用+/-或TimeSpan.Add。