2013-07-09 2 views
0

데이터베이스에 텍스트 문서에 몇 줄을 쓰고 있습니다. 날짜 필드를 제외한 모든 설정이 있습니다. MM-dd-yy로 변경해야하지만 DB에서 기본값 인 MM/dd/yyy HH : mm : ss (2011 년 7 월 8 일 2:01:05 PM)가 계속 표시됩니다. 날짜 열은 테이블의 중간에 있고 나는 if 문을 세 부분으로 나누어 추가하는 것으로 생각할 수있는 모든 것을 시도했지만 아무 것도 날짜 열만 변경하지는 않습니다. 다음은 데이터를 가져 와서 쓰는 방법입니다. 그러면 2 개의 int, 문자열, 날짜, 문자열 및 하나 이상의 int가 표시됩니다. 순서는 단지 날짜를 변경하는 것이 좋습니다.데이터 세트의 한 열 변경

편집 : 모든 올바른 데이터를 씁니다. 원하는 방식으로 날짜가 표시되지 않습니다.

foreach (DataRow row in jackTDataSet.Tables[0].Select(quer)) 
{ 
    foreach (object item in row.ItemArray) 
    { 
      writer.Write(String.Format("{0,-10}", item.ToString() + "")); 
    } 
    writer.WriteLine("\t"); 
} 
+0

MessageBox.Show 또는 Response.Write를 사용하여 값을 확인해 보았습니까? – Learner

답변

0

당신은 다른 열 중 하나는 잠재적으로 날짜 시간으로 구문 분석 할 수 있다는 위험이 적 방법이 같은 일을하고, 형식 MM-DD-YY를 얻을 수 있습니다. 개인적으로 이것에 대한 반복을 재 작업 할 것입니다. IF ** 당신이 쿼리의 모든 컬럼을 선택하고 정적이며 변경되지 않는다면 (어느 것이 좋을지 모르겠지만 모든 옵션을 여기에두고 있습니다) 두 번째 for 루프에 표시된 컬럼 이름을 기반으로 반복 할 수 있습니다 이 게시물.

foreach (object item in row.ItemArray) 
{ 
    DateTime parsed; 
    if (DateTime.TryParse(item.ToString(), out parsed)) 
    { 
      writer.Write(String.Format("{0,-10}", parsed.ToString("MM-dd-yy") + "")); 
    } 
    else 
    { 
      writer.Write(String.Format("{0,-10}", item.ToString() + "")); 
    } 
} 



foreach (DataColumn col in jackTDataSet.Tables[0].Columns) 
{ 
    if (col.ColumnName == "Name of date Field ") 
    { 
     writer.Write(String.Format("{0,-10}", ((DateTime)row[col.ColumnName]).ToString("MM-dd-yy") + "")); 
    } 
    else 
    { 
     writer.Write(String.Format("{0,-10}", row[col.ColumnName].ToString() + "")); 
    } 
} 
+0

멋지게 일했습니다. 나는 모든 열을 호출하고 있으며 현재 정적이다. 감사. – user2566242

+0

다행히 도울 수있었습니다! – Bearcat9425

관련 문제