2014-04-22 4 views
-1

C# 및 postgreSQL 데이터베이스를 사용하여 asp.net에서 웹 응용 프로그램을 작성하고 있습니다. 신청서는 예약을위한 예약 시스템입니다.짧은 날짜와 시간을 표시하는 SQL 작성 방법

목록 상자에서 특정 약속의 날짜, 시간 및 이름을 인쇄합니다. 데이터베이스에서 날짜, 시간 및 이름을 가져옵니다. 내 문제는 날짜와 시간이 긴 형식으로 표시된다는 것입니다 (아래 그림 참조).

enter image description here

나는 형식 8시에 형식 2014년 4월 22일 시간과 날짜를 표시합니다.

내 코드 :

string sql = "SELECT date, time, name FROM tbl_app WHERE id = '" + id + "'"; 

NpgsqlCommand command = new NpgsqlCommand(sql, conn); 
NpgsqlDataReader dr = command.ExecuteReader(); 
while (dr.Read()) 
{ 
    Listbox.Items.Add(dr["date"] + " " + dr["time"] + " " + dr["name"]);  
} 
+0

를 사용하여 C# 형식 문자열 - http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx – squillman

답변

2

당신은 내가 DataReader를 항목

while (dr.Read()) 
{ 
    Listbox.Items.Add(dr["date"].ToString().ToShortDateString() + " " + dr["time"].ToString().ToShortTimeString() + " " + dr["name"]);  
} 

http://msdn.microsoft.com/en-us/library/system.datetime.toshorttimestring.aspx http://msdn.microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx

ToString을 사용하는 이유 편집이다 문자열에 ToShortDateStringToShortTimeString하는 작업을 사용할 수 있습니다
로 주석은 ToShortDateString이 문자열에 존재한다는 것을 가리키고 대신 DateTime 값에 적용됩니다 ... 코드가 show로 업데이트되었습니다. 방법

while (dr.Read()) 
{ 
    Listbox.Items.Add(
     DateTime.Parse(dr["date"].ToString()).ToShortDateString() + " " + 
     DateTime.Parse(dr["time"].ToString()).ToShortTimeString() + " " + 
     dr["name"]);  
} 
+0

고마워,하지만 ToShortDateString 사용하여 오류 : '문자열'에 대한 정의가 포함되어 있지 않습니다 'ToShortDateString' – user2939293

+0

고마워요! 그것도 작동합니다 ("편집"아래의 마지막 코드). – user2939293

4

하지 포맷이 포스트 그레스의 끝에서 할 수 있지만 필드는 당신처럼 C# 코드에서 DateTime 개체의 서식을 지정할 수 있습니다 입력 DateTime의 것으로 표시되는 방법을 정말 확실 :

while (dr.Read()) 
{ 
    //Check for DBNull.Value 
    DateTime date = Convert.ToDateTime(dr["date"]); 
    DateTime time = Convert.ToDateTime(dr["time"]); 
    Listbox.Items.Add(date.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture) + " " 
         time.ToString("HH:mm", CultureInfo.InvariantCulture) + " " 
        + dr["name"]); 
} 

쿼리를 연결하는 대신 쿼리에 parameter을 사용하는 것이 좋습니다. 이것은 SQL Injection입니다. 당신은 볼 수 있습니다 : Custom Date and Time Format Strings

+0

감사합니다! 그게 작동 – user2939293

+0

@ user2939293, 당신은 환영합니다 – Habib

관련 문제