我從通過此方法發送日期 WPF到ModelClass顯示日期.......只能從SQL數據庫
private void buttonNTSave_Click(object sender, RoutedEventArgs e)
{
ModelClass model = new ModelClass();
model.TaskInsertion(textBoxNTSubject.Text, textBoxNTType.Text, Convert.ToDateTime(datePickerNT.SelectedDate), textBoxNTTitle.Text, textBoxNTDetail.Text);
}
的日期正在插入數據庫這種方法...
public void TaskInsertion(string subject, string type, DateTime dueDate, string title, string detail)
{
SqlConnection conn = new SqlConnection(connectionString);
try
{
string query = "INSERT INTO Tbl_Task (Email, Subject, Type, DueDate, Title, Detail) VALUES ('" + userEmail + "', '" + subject + "' , '" + type + "', '" + dueDate.Date + "', '" + title + "', '" + detail + "')";
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
conn.Close();
}
}
但每當我試着只檢索日期從數據庫到DataGrid中,仍然是時間與日期正顯示出..
public DataTable OverDueCurrentTask()
{
SqlConnection conn = new SqlConnection(connectionString);
try
{
DateTime DateToday = DateTime.UtcNow.Date;
string query = "DECLARE @sDate Date SET @sDate = '" + DateToday.Date + "' SELECT Title, Subject, Type, DueDate FROM Tbl_Task WHERE DueDate >= @sDate";
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
cmd.ExecuteNonQuery();
SqlDataAdapter dataAdp = new SqlDataAdapter(cmd);
DataTable dataTbl = new DataTable("Tbl_Task");
dataAdp.Fill(dataTbl);
dataAdp.Update(dataTbl);
return dataTbl;
}
catch (Exception e)
{
conn.Close();
return null;
}
}
如何顯示日期而不顯示時間? N.B.在數據庫中,DueDate是日期類型列。
儘管插入查詢正在工作,但我會建議使用SqlCommand參數。謹防SQL注入攻擊。 – Hassan 2014-09-06 16:08:37
完全同意@Hassan進行sql注入。關於返回給客戶端的值,這是一個格式問題。所以,我認爲將這個任務委託給應用層(離前端最近)會更好。在這種情況下,您可以顯示'.ToShortDateString()'值 – 2014-09-06 16:33:45