none
a라는 프로그램을 만들었습니다 RRS feed

  • 질문

  • a라는 프로그램을 만들었습니다

    폼에 datagridview 에 바인딩 시켜 놓앗는데

       Me.dataTableAdapter.Fill(Me.dataDataSet.table)

    이렇게 하면 값이 datagridview 에 표시가 됩니다...


    그런데

    바인딩 하지않고는  data 값을 알순 없나요??

    테이블 인덱스로 지정해서 하나씩 따오는것은 시간이 많이 걸리더군요...

    -----------------

    차라리 이런 기능이 잇었으면 좋겟습니다

    datareader ( ado.net)      <----- 이런거 마냥  대용량처리도 수월하다던데요

    -----------------------------------------------------------

    닷넷에서는 위와같은 리더기능이 없나요??


    data를  저가 지정한 곳에 데이타 값만 뽑아서 가져오고 싶은데요...

    간단히  메시지박스에 표현될수 잇는 방법좀 알려주세요...


    msgbox( Me.dataTableAdapter.Fill(Me.dataDataSet.table))

    이렇게 하면  카운팅 숫자만 표시되네요...

    -------

    대용량 .sdf 파일에 담겨잇는 자료들을 행단위로

    텍스트 파일로 출려하는 방법좀 알려주시면 갑사하겟습니다 ...

    2013년 5월 8일 수요일 오전 8:40

답변

  • 안녕하세요. 세가지 방법이 있겠네요.

    1.개발시에 디버깅용으로 잠깐보시려면 Visual Studio 상에서

       Me.dataTableAdapter.Fill(Me.dataDataSet.table);

       이줄의 바로 다음 라인에 브레이크 포인트를 걸고, 브레이크 포인트에 실행이 멈춘상태에서

       위의 Me.dataTableAdapter.Fill(Me.dataDataSet.table); 여기에 ".table" 부분에 마우스를 가져다데면

       툴팁이 뜹니다. 그 툴팁에 돋보기 모양의 아이콘이 있고 그 아이콘을 클릭하면 "데이터시각화 도우미"가

       엑셀처럼, 또는 SQL쿼리분석기처럼 뜹니다.

    2. 마찬가지로 위와 같이 브레이크 포인트를 걸고 디버깅모드로 실행하여 브레이크 포인트에 멈추면

       Visual Studio의 [직접 실행 창]에다가

       Me.dataDataSet.GetXml()

      이라고 입력후 엔터치시면 XML형태로 확인 가능합니다.

    3. 말씀하신데로 데이터만 텍스트 파일로 찍는 함수를 만들어 호출하면 되겠습니다.

            private void SaveDataTableToTextFile(string sPathFileName, DataTable dt)
            {
                StringBuilder sb = new StringBuilder();
                foreach (DataRow dr in dt.Rows)
                {
                    for (int c = 0; c < dt.Columns.Count; c++)
                    {
                        sb.Append(dr[c].ToString());
                        sb.Append("\t");
                    }
                    sb.Append(Environment.NewLine);
                }
                if (sb.Length > 0)
                {
                    System.IO.FileStream fs = new System.IO.FileStream(@sPathFileName, System.IO.FileMode.Create);
                    System.IO.StreamWriter sw = new System.IO.StreamWriter(fs);
                    sw.WriteLine(sb.ToString());
                    sw.Close();
                    fs.Close();
                }
            }
    Me.dataTableAdapter.Fill(Me.dataDataSet.table);
    //파일저장 호출
    SaveDataTableToTextFile(@"c:\temp\test.txt", ds.Tables[0]);


    • 답변으로 표시됨 배우고팡 2013년 5월 8일 수요일 오후 6:53
    2013년 5월 8일 수요일 오전 10:16

모든 응답

  • 안녕하세요. 세가지 방법이 있겠네요.

    1.개발시에 디버깅용으로 잠깐보시려면 Visual Studio 상에서

       Me.dataTableAdapter.Fill(Me.dataDataSet.table);

       이줄의 바로 다음 라인에 브레이크 포인트를 걸고, 브레이크 포인트에 실행이 멈춘상태에서

       위의 Me.dataTableAdapter.Fill(Me.dataDataSet.table); 여기에 ".table" 부분에 마우스를 가져다데면

       툴팁이 뜹니다. 그 툴팁에 돋보기 모양의 아이콘이 있고 그 아이콘을 클릭하면 "데이터시각화 도우미"가

       엑셀처럼, 또는 SQL쿼리분석기처럼 뜹니다.

    2. 마찬가지로 위와 같이 브레이크 포인트를 걸고 디버깅모드로 실행하여 브레이크 포인트에 멈추면

       Visual Studio의 [직접 실행 창]에다가

       Me.dataDataSet.GetXml()

      이라고 입력후 엔터치시면 XML형태로 확인 가능합니다.

    3. 말씀하신데로 데이터만 텍스트 파일로 찍는 함수를 만들어 호출하면 되겠습니다.

            private void SaveDataTableToTextFile(string sPathFileName, DataTable dt)
            {
                StringBuilder sb = new StringBuilder();
                foreach (DataRow dr in dt.Rows)
                {
                    for (int c = 0; c < dt.Columns.Count; c++)
                    {
                        sb.Append(dr[c].ToString());
                        sb.Append("\t");
                    }
                    sb.Append(Environment.NewLine);
                }
                if (sb.Length > 0)
                {
                    System.IO.FileStream fs = new System.IO.FileStream(@sPathFileName, System.IO.FileMode.Create);
                    System.IO.StreamWriter sw = new System.IO.StreamWriter(fs);
                    sw.WriteLine(sb.ToString());
                    sw.Close();
                    fs.Close();
                }
            }
    Me.dataTableAdapter.Fill(Me.dataDataSet.table);
    //파일저장 호출
    SaveDataTableToTextFile(@"c:\temp\test.txt", ds.Tables[0]);


    • 답변으로 표시됨 배우고팡 2013년 5월 8일 수요일 오후 6:53
    2013년 5월 8일 수요일 오전 10:16
  • 감사합니다...

    비주얼베이직 초보라 답변내용을 모두다 이해할수는 없지만 차즘차즘 공부해나가겠습니다

    3번 내용을 토대로 응용을 하엿더니

    생각보다 빠르게 처리되어 좋더군요...

    시간내준부분에 대해 감사합니다 ...

    늘 좋은일 많으시길 빌겟습니다!

    2013년 5월 8일 수요일 오후 6:56