2016-08-09 13 views
1

Ich möchte das Datum/Uhrzeit-Format beim Abrufen der Daten aus der Datenbank konvertieren.Wie wird das Datum von Datetime beim Abrufen der Datetime aus der Datenbank in MVC5 angezeigt?

Mein Controller-Code

public ActionResult GetDates(VisitorsViewModel VisitorsVM) 
{ 
    try 
    { 
     string sqlcmd = "Select * from View_VisitorsForm where CONVERT(VisitingDate As Date) >='" + fromdt + "'and CONVERT(VisitingDate As Date) <= '" + todt + "'"; 

     con.Open(); 
     SqlCommand cmd = new SqlCommand(sqlcmd, con); 
     SqlDataAdapter adp = new SqlDataAdapter(cmd); 
     adp.Fill(dt); 
    } 
    catch (Exception ex) 
    { 
     throw; 
    } 

    ReportDocument rpt = new ReportDocument(); 
    rpt.Load(Server.MapPath("~/Areas/Sales/CrystalReports/rpt_VisitSummaryCrystalReport.rpt")); 
    rpt.SetDataSource(dt); 
    Stream stream = rpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); 

    return File(stream, "application/pdf"); 
} 

ich das Datumsformat (müssen nur Datum nicht mit der Zeit) konvertiert werden soll, während aus der Datenbank abrufen

Wie konvertiere ich VisitingDate nur das Datum angezeigt werden (Zeit nicht) in unter Abfrage

string sqlcmd = "Select * from View_VisitorsForm where CAST(VisitingDate As Date) >='" + fromdt + "'and CAST(VisitingDate As Date) <= '" + todt + "'"; 

enter image description here

Die obige SQL-Abfrage kann das Datumsformat nicht konvertieren, es kommt mit der Zeit. Ich möchte nur Date. ZB: 12-Mar-16 so.

+0

CONVERT (VARCHAR (8), VisitingDate, 1) .. in Ihrer select staement –

+0

ok ich eine haben, um – Susan

+0

@ShekharPankaj Zeit kommt – Susan

Antwort

1

Verwenden ToString nur Datum zu erhalten: Angenommen, Sie haben Datetime-Typ in date Variable dann können Sie von diesem

string s = date.ToString("dd/MM/yyyy"); 

erhalten, wenn Sie SQL Server 2008 oder höher verwenden, dann Sie nur Datum von CONVERT(VisitingDate, getdate())

bekommen
string sqlcmd = "Select * from View_VisitorsForm where CONVERT(VisitingDate, getdate(),110) >='" + fromdt + "'and CONVERT(VisitingDate, getdate(),110) <= '" + todt + "'"; 
+0

ich möchte diese Zeichenfolge sqlcmd unten Abfrage konvertieren = "Wählen Sie * aus View_VisitorsForm, wo CAST (VisitingDate As Date)> = '" + fromdt + "' und CAST (VisitingDate As Date) <= '" + todt + "'"; nicht vonDate und Todate. es ist bereits konvertiert. Ich möchte meine Select-Abfrage ändern, die das Visiting Date-Format ändern möchte. – Susan

+0

ok warten Ich aktualisiere – Mostafiz

+1

CONVERT (VisitingDate, getdate()) zeigt auch die Zeit an. –

0

in SQL können Sie CONVERT() Funktion in SQL-Abfrage verwenden, um die Aufgabe zu erledigen.

CONVERT(VARCHAR(19),GETDATE())  
CONVERT(VARCHAR(10),GETDATE(),10) 
CONVERT(VARCHAR(10),GETDATE(),110) 
CONVERT(VARCHAR(11),GETDATE(),6) 
CONVERT(VARCHAR(11),GETDATE(),106) 
CONVERT(VARCHAR(24),GETDATE(),113) 

Above in dieser Folge wird:

04 14. November 2014 11.45

11-04-14 11-04-2014

04 Nov

04.11.2014

04.11.2014 11: 45: 34: 243

So Ihre Anfrage wird:

string sqlcmd = "Select Column1,Column2,Column3,CONVERT(VARCHAR(10),VisitingDate,110) as 'VisitingDate' from View_VisitorsForm where CONVERT(VARCHAR(10),VisitingDate,110) >='" + fromdt + "'and CONVERT(VARCHAR(10),VisitingDate,110) <= '" + todt + "'"; 

Hier ist Ihr Problem, müssen Sie alle Spalten auswählen und für die Datumsspalte tun. Ersetzen Sie daher in der Abfrage Spalte1, Spalte2 durch Ihre Spaltennamen.

Siehe W3Schools Tutorial here

+0

Ich möchte die SQL-Abfrage in Front ändern – Susan

+0

Ja, ich habe eine Überprüfung und versuchen – Susan

+0

Gleiche Antwort onlly Mostafiz gab aber es NULL (Type VisitingDate ist kein definierter Systemtyp.) Fehler – Susan

Verwandte Themen