2015-11-03 124 views
0

如何從MySQL數據庫表訪問時間值如何使用C#代碼MySQL數據庫檢索時間

DateTime tim = DateTime.Now.GetDateTimeFormats(mdr.GetDateTime("time")); 
string s = tim.ToShortTimeString(); 
+0

你的數據庫表如何存儲日期? 你還試過什麼? – Baklap4

+0

爲什麼你根本調用'GetDateTimeFormats'?那麼你爲什麼調用'ToShortTimeString'?是不是'mdr.GetDateTime(「time」)'所有你需要的? –

回答

1

因此,如果時間已經保存在你的餐桌,你將拉動DateTime類型的形式它存在於SQL中。在獲得該值後,您可以通過ToString(「MM/dd/yy」)或任何其他您想要的操作來操作它。

要從列「時間」拉動日期時間,你會這樣做,但你也可能想要添加一個檢查,看它是否爲空第一。

mdr.GetDateTime(mdr.GetOrdinal("time"); 

你可以同時結合了像這樣的方法......

public static DateTime SafeGetDateTime(SqlDataReader reader, string colName) 
    { 
     if (!reader.IsDBNull(reader.GetOrdinal(colName))) 
     { 
      return reader.GetDateTime(reader.GetOrdinal(colName)); 
     } 

     return DateTime.MinValue; 
    } 

這將返回的最小可能值的日期時間,如果它是空的,而你的DataReader讀取它的實施將與看起來像:

using (SqlConnection conn = new SqlConnection(connectionstring)) 
     { 

      SqlCommand cmd = new SqlCommand(query, conn); 


      try 
      { 
       conn.Open(); 
       SqlDataReader mdr = cmd.ExecuteReader(); 
       while (mdr.Read()) 
       { 
        string datetime = SafeGetDateTime(mdr, "time").ToShortTimeString(); 
       } 
       conn.Close(); 
       return datetime; 
      } 
+1

這不會編譯,您可能需要爲答案添加一些解釋和格式。 – CodeCaster

+0

對不起,感謝您的建議。 – AlexCharizamhard

相關問題