2014-06-08 51 views
-3

我搜索了整個網站和Google,但無法找到我真正需要的內容。我試圖從兩個日期之間的SQL服務器數據庫中選擇記錄(數據庫列的日期格式不是日期時間)。我從兩個TextBox(21.8.2014格式)中獲取日期,並且查詢是BirthDay >= dateTxt1 AND BirthDay<=dateTxt2 dateTxt1和dateTxt2應該是DateTime而不是字符串。 請不要讓我使用ToShortDateTimeString(「dd.MM.yyyy」)。我想要這樣的事情:以dd.MM.yyyy格式將字符串轉換爲日期時間(無小時C)#

DateTime ddateTxt1 =Convert.toDateTime(TextBox1.Text, "dd.MM.yyyy"); 

這可能嗎?輸出應該像21.8.2014,不像21.8.2014 00:00:00 如何從TextBox獲取值並將其轉換爲DateTime並進行查詢。

我試着別洛夫的代碼,但沒有奏效:

CultureInfo provider = CultureInfo.InvariantCulture;   

DateTime theDateTime = DateTime.ParseExact(TextBox1.Text, "d.MMMM.yyyy", provider); 

謝謝

+0

這不是真的很清楚問題是什麼。從TextBox1輸入的用戶是否包含小時/分鐘/秒?你如何輸出這個值? 'DateTime'值被格式化爲*輸出*,不一定用於*輸入*。 「DateTime」值本身就是數據,它沒有格式或文化信息。你在哪裏看到你不想要的這些小時/分鐘/秒的價值? – David

+0

除了以前的評論要求之外,你如何查詢數據庫?以及哪個版本是SQL? – Horaciux

+0

SQL server 2012 - 我的查詢是:「Select * From db Where Active = true AND birthDay> = dateTextBox1 AND birthDay <= dateTextBox2」; DB中的birthDay採用日期格式(21.8.2014),dateTextBox採用DateTime格式(21.8.2014 00:00:00)。所以它不返回任何數據。我得到DateTime dateTextBox1 = Convert.toDateTime(TextBox1.Text); TextBox1.Text是21.8.2014但dateTextBox1是21.8.2014 00:00:00。所以我想要一個DateTime格式的變量,但沒有小時和秒。我希望我能解釋。謝謝。 – degergio

回答

0

你可以試試這個:

DateTime outdate = new DateTime(); 
DateTime date = DateTime.TryParse(TextBox1.Text,out outdate); 

然後

String EndDate = (DateTime)date.ToShortDateString(); 
+2

最後一行不起作用。因爲你已經有了日期時間。你可以使用'date.Date'去除時間組件。 –

+0

Thx u for editing –

+0

我不希望輸出爲字符串。它應該在DateTime中,但不包含小時,分鐘和秒。所以ToShortDateString不適合我。 dateTextBox1.Date給我輸出相同(21.8.2014 00:00:00)我不知道爲什麼,但輸出是給它相同的價值。 – degergio

相關問題