2013-07-19 6 views
1

데이터베이스에 날짜 열이 있습니다. 날짜 값이 아니므로 값에 시간이 없습니다.SQLDataSource에서 날짜/시간을 수정하십시오.

그러나, 내가 끌어 내 페이지에 의 SqlDataSource을 삭제하고 날짜를 표시하는 데에 dropdownlist를 바인딩 할 때, 자동으로 12:00:00 AM의 시간을 추가합니다.

나는이 일을하는 이유를 안다. 그러나 나는 그것을 없애는 방법을 모른다. 코드 숨김에서 바인딩해야합니까?

쉽게 해결할 수 있습니까?

+0

나는 여전히 생성 된 코드에서이 형식을 사용할 수 있다고 생각한다. – Sandy

답변

2

설정 DropDownList.DataTextFormatString에 (VARCHAR, 날짜, 103) 방법을 변환 사용 .Have이 유용 할 수 있습니다 귀하의 SQL 쿼리를 표시 할 수 있습니다.

<asp:DropDownList 
id="datesList" 
runat="server" 
dataTextFormatString="{0:dd/MM/yyyy}"/> 

그리고 올바른 형식이 적용됩니다 컨트롤을 데이터 바인딩 후 :

1

필드 또는 열 정의에 형식을 추가하십시오. 예를 GRIDVIEW를 들어 : - 클래스 데이터 만 표시하기 위해 필요한 BTW

<asp:boundfield datafield="Your_Date_Column" dataformatstring="{0:MMMM d, yyyy}" htmlencode="false" /> 

, 다른 방법은 뷰 모델을 사용하는 것입니다. 이 클래스에는 DateTime 또는 다른 데이터 유형 (문자열 만 사용)이 필요하지 않습니다. 예를 들어, 여기에 일부 기본값을 정의 할 수 있습니다. 값이 null 인 경우 "UNDEFINED"텍스트 또는 필요한 것을 표시하십시오. 경우에 따라 이러한 접근 방식은 표시 할 데이터를 준비하는 중앙 집중식 지점을 만듭니다.

1

당신은 당신이 당신의 쿼리

+0

데이터베이스에 시간이 없으므로 SQL 문을 변환하지 않았다. NET 런타임 문제이다. – prospector

+0

DDL에 dataTextFormatString을 사용해 보셨나요? – Bhagavan

0

C 번호는 날짜 데이터 타입을 가지고 SQL의 값 (날짜) 데이터 형식 불구 것은 C#에서 날짜 필드로 변환입니다하지 않습니다. C#에서 문자열로 처리하지만 convert (varchar, date, 103)를 사용하면 SQL에서 nvarchar로 날짜를 변환하는 것이 좋습니다.

관련 문제